ModuleNotFoundError: нет модуля с именем 'sklearn.linear_model._logisti c' - PullRequest
0 голосов
/ 01 мая 2020

Я работаю над проектом классификации двоичных изображений, в котором я использовал трансферное обучение путем извлечения признаков. Я обучил модель регрессии Logisti c с выходом ResNet50 (отбрасывая его последний слой и используя активации за последним слоем из него в качестве функций).

Во время тестирования при загрузке этой модели регрессии Logisti c я получил эту ModuleNotFoundError. Следующий код показывает, как я загрузил модель регрессии Logisti c, которую я уже обучил активациям из модели ResNet50.

model_logistic_regression = pickle.load(open(MODEL_PATH, "rb"))

Здесь MODEL_PATH содержит каталог предварительно обученного Logisti c Модель регрессии.

РЕДАКТИРОВАТЬ: Эта модель регрессии Logisti c была создана 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()

1 Ответ

0 голосов
/ 01 мая 2020

Я думаю, что вы работаете с python3. Потому что в Python 3 модуль pickle переименован в _pickle. Вы можете использовать import _pickle as pickle

...