【发布时间】:2020-01-29 21:58:51
【问题描述】:
我正在尝试校准在 keras 中训练了 883 个类的模型。
# Define model architecture
model = Sequential()
model.add(Dense(512,input_shape=(3,),activation="relu"))
model.add(BatchNormalization())
model.add(Dense(512,activation="relu"))
model.add(BatchNormalization())
model.add(Dense(883,activation="relu"))
model.add(Dense(883,activation="softmax"))
model = load_model("my_model.h5")
calib = CalibratedClassifierCV(model,method="sigmoid",cv="prefit")
calib.fit(X_train,y_train)
我得到了错误
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sklearn/calibration.py", line 163, in fit
calibrated_classifier.fit(X, y)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sklearn/calibration.py", line 345, in fit
df, idx_pos_class = self._preproc(X)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sklearn/calibration.py", line 312, in _preproc
transform(self.base_estimator.classes_)
AttributeError: 'Sequential' object has no attribute 'classes_'
model.classes_ 似乎不存在,那我做错了什么?
model.classes_
Traceback (most recent call last):
File "<input>", line 1, in <module>
AttributeError: 'Sequential' object has no attribute 'classes_'
任何帮助将不胜感激,谢谢
【问题讨论】:
-
既然你有 883 个类,为什么还要最后一层大小为 1000 的密集层?
-
你不能像这样将 keras 模型传递给 scikit-learn
-
@desertnaut 抱歉打错了,我已经更新了代码
-
@MatiasValdenegro 请您详细说明一下吗?你会建议我做什么?
标签: python-2.7 keras scikit-learn