KerasClassifier 对象没有属性模型

Posted

技术标签:

【中文标题】KerasClassifier 对象没有属性模型【英文标题】:KerasClassifier object has no attribute model 【发布时间】:2021-04-11 07:26:54 【问题描述】:

我正在使用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 似乎有问题。

我的代码有错误吗?

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于KerasClassifier 对象没有属性模型的主要内容,如果未能解决你的问题,请参考以下文章

TypeError:“NoneType”类型的对象在尝试适合 KerasCLassifier 时没有 len()

尽管一切正常,但 KerasClassifier 无法拟合模型

使用 KerasClassifier 随机搜索cv 进行超参数优化,TypeError: 'list' 对象不能被解释为整数

具有多输入 KerasClassifier 的 Sklearn cross_val_score

无法克隆对象 <tensorflow.python.keras.wrappers.scikit_learn.KerasClassifier 对象

sklearn RandomizedSearchCV 与流水线 KerasClassifier