【问题标题】:ModuleNotFoundError: No module named 'sklearn.linear_model._logistic'ModuleNotFoundError:没有名为“sklearn.linear_model._logistic”的模块
【发布时间】:2020-05-02 04:27:17
【问题描述】:

我正在从事一个二值图像分类项目,我通过特征提取使用迁移学习。我用 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()

【问题讨论】:

    标签: python scipy pickle logistic-regression gridsearchcv


    【解决方案1】:

    我认为您正在使用 python3。因为在 Python 3 中,pickle 模块被重命名为 _pickle。你可以使用import _pickle as pickle

    【讨论】:

    猜你喜欢
    • 2020-04-03
    • 2022-06-14
    • 2021-01-19
    • 2019-03-28
    • 2022-01-07
    • 2017-12-14
    • 2020-12-10
    • 2021-09-02
    相关资源
    最近更新 更多