首页 > 解决方案 > KerasClassifier 对象没有属性模型

问题描述

CalibratedClassifierCV用来校准我的 CNN 模型的概率。我正在使用以下代码:

from tensorflow.keras.models import load_model
from tensorflow.keras.wrappers.scikit_learn import KerasClassifier
from sklearn.calibration import CalibratedClassifierCV
def load_model(*args, **kwargs):
    path="my_model.hd5"
    model = load_model(path)
    return model

clf = KerasClassifier(build_fn=load_model)
calib = CalibratedClassifierCV(clf, cv='prefit', method='sigmoid')
calib.fit(X_train, y_train)

使用此代码时,我收到错误消息AttributeError: 'KerasClassifier' object has no attribute 'model'。另外,当我使用时,clf.predict(X_test)我遇到了同样的错误。所以似乎有些问题KerasClassifier

我的代码有错误吗?

标签: machine-learningkerasscikit-learndeep-learningtf.keras

解决方案


您用同名 ( )重新定义了 keras 的load_model函数 ( ) - 这可能是问题所在。from tensorflow.keras.models import load_modeldef load_model(*args, **kwargs)


推荐阅读