Я успешно потренировал модель scikit на ML Engine.Я могу получить файл model.joblib из моего хранилища Cloud Storage и загрузить его, а также получить локальные прогнозы с помощью gcloud.Однако я не могу создать версию модели.
Я использую оценщик sklearn_crfsuite
crf = sklearn_crfsuite.CRF(
algorithm='lbfgs',
c1=0.1,
c2=0.1,
max_iterations=2,
all_possible_transitions=True
)
Я сохраняю модель, как описано ниже:
model = 'model.joblib'
joblib.dump(crf, model)
мои настройки.py to train is:
'''Cloud ML Engine package configuration.'''
from setuptools import setup, find_packages
REQUIRED_PACKAGES = ['joblib==0.13.0',
'sklearn-crfsuite==0.3.6',
'sklearn==0.0'
]
setup(name='trainer',
version='1.0',
packages=find_packages(),
include_package_data=True,
install_requires=REQUIRED_PACKAGES)
Я отправляю пакетный поезд:
gcloud ml-engine jobs submit training train_$JOB_NAME \
--runtime-version 1.8 \
--python-version 2.7 \
--job-dir=gs://$BUCKET_NAME/jobs/$JOB_NAME/ \
--package-path= trainer \
--module-name trainer.model \
--region $REGION \
--scale-tier BASIC \
-- \
--train-data-dir=gs://$BUCKET_NAME/dataset \
--job-dir=gs://$BUCKET_NAME/jobs/$JOB_NAME
Модель обучается и экспортируется в job-dir, но когда развертывать:
gcloud alpha ml-engine versions create v1 --model teste --origin \
$ORI --python-version 2.7 --runtime-version 1.8 --framework scikit-learn
сообщает об этой ошибке:
ОШИБКА: (gcloud.alpha.ml-engine.versions.create) Обнаружена плохая модель с ошибкой: «Не удалось загрузить модель: не удалось загрузить модель: /tmp/model/0001/model.joblib. Нет модуля с именем sklearn_crfsuite.estimator. (Код ошибки: 0) "