python - ModuleNotFoundError:没有名为“sklearn.linear_model._logistic”的模块
问题描述
我正在做一个二值图像分类项目,我通过特征提取使用迁移学习。我用 ResNet50 的输出训练了一个 Logistic 回归模型(通过丢弃它的最后一层并使用它最后一层后面的激活作为特征)。
在加载逻辑回归模型的测试期间,我得到了这个 ModuleNotFoundError。以下代码显示了我如何加载我已经在 ResNet50 模型的激活上训练过的逻辑回归模型。
model_logistic_regression = pickle.load(open(MODEL_PATH, "rb"))
这里 MODEL_PATH 包含预训练逻辑回归模型的目录。
编辑:此逻辑回归模型由 GridSearchCV 通过以下代码创建:
model = GridSearchCV(LogisticRegression(max_iter = 100000), params, cv = 3, # cv means cross validation
n_jobs = N_JOBS)
# db["features"] contains the activations (unrolled) from ResNet50 and db["labels"] contains the corresponding output labels
model.fit(db["features"], db["labels"])
最后,使用以下代码将模型写入磁盘:
f = open(MODEL_PATH, "wb")
f.write(pickle.dumps(model.best_estimator_))
f.close()
解决方案
我认为您正在使用 python3。因为在 Python 3 中,pickle 模块被重命名为 _pickle。你可以使用import _pickle as pickle
推荐阅读
- javascript - 猫鼬居住
- python - 我在 Python 中收到 Foursquare API 的关键错误消息
- c++ - 在不使用成员函数和友元函数的情况下实现运算符重载
- vba - 尝试访问远程项目中表单模块的代码行
- javascript - HTML 表单中的 JSON 数据
- c - C segfault - off-by-one - 大小为 1 的无效写入
- javascript - 如何使用 html / angular / javascript 扩展表格
- php - Ajax Full Featured error 添加新事件
- google-apps-script - 试图追加行我没有掌握什么?
- reactjs - 集成时出现此错误错误:操作必须是普通对象。使用自定义中间件进行异步操作