Я успешно тренировал модель на ML Engine.Я могу получить файл model.joblib
из своего хранилища Cloud Storage и загрузить его, а также получить локальные прогнозы, используя gcloud
.Однако я не могу создать версию модели.
JOB_DIR=$(gcloud ml-engine jobs describe "$JOB" \
--format="value(trainingInput.jobDir)")
gcloud ml-engine versions create "$VERSION" \
--model "$MODEL_NAME" \
--origin "$JOB_DIR" \
--framework scikit-learn \
--runtime-version 1.10 \
--python-version 3.5
Возвращает:
ОШИБКА: (gcloud.ml-engine.versions.create) Обнаружена плохая модель с ошибкой: «Не удалось загрузитьмодель: Не удалось загрузить модель: /tmp/model/0001/model.joblib. Нет модуля с именем «trainer». (Код ошибки: 0) "
Как я могу исправить эту ошибку?
Моя модель - конвейер sklearn.Он использует FunctionTransformer
, который вызывает функцию в модуле trainer.model
.Я задавался вопросом, не установлена ли на виртуальной машине, обслуживающей прогнозы, пакет trainer
.Однако я не смог подтвердить / отклонить эту гипотезу или найти в документации способ указать на пакет.