无法在 ML Engine 上部署使用 scikit-learn 创建的模型
Can't deploy a model created with scikit-learn on ML Engine
我正在尝试在 ML Engine 上部署使用 scikit-learn 创建的模型。我在 Datalab 笔记本上工作,在创建模型后,我使用 joblib.dump (model, 'model.joblib') 将其导出到文件中。获得该文件后,我将其复制到云存储中:gsutil cp ./model.joblib gs://..。最后,我通过键入以下命令创建了一个模型资源:gcloud ml-engine models create model --regions=us-central1。
当我尝试创建模型版本时出现问题,因为它说它希望找到一个 .pb/.pbtxt 保存的模型文件。
有谁知道如何处理这个问题而不必转移到 TensorFlow 模型?
任何帮助将不胜感激。
您需要设置一些标志,特别是 --framework
(默认为 TensorFlow),还有 --runtime-version
(必须是 1.4 或更高版本)和(可能)--python-version
(默认为 2.7)。尝试类似 (reference):
gcloud beta ml-engine versions create v1 \
--model my_model \
--origin gs://path/to/model \
--runtime-version="1.8" \
--framework SCIKIT_LEARN
--python-version="3.5"
有关每个运行时版本中包含的内容的列表(即帮助您选择哪个版本),请参阅 here。
如果您运行正在使用 Datalab,那么您正在 运行正在使用不支持 scikit 学习的旧版本。 Datalab 的新更新随时都会发布。
但是,解决方法很简单。刚刚 运行
%bash
gcloud components update
在笔记本的某个单元格中
我正在尝试在 ML Engine 上部署使用 scikit-learn 创建的模型。我在 Datalab 笔记本上工作,在创建模型后,我使用 joblib.dump (model, 'model.joblib') 将其导出到文件中。获得该文件后,我将其复制到云存储中:gsutil cp ./model.joblib gs://..。最后,我通过键入以下命令创建了一个模型资源:gcloud ml-engine models create model --regions=us-central1。 当我尝试创建模型版本时出现问题,因为它说它希望找到一个 .pb/.pbtxt 保存的模型文件。 有谁知道如何处理这个问题而不必转移到 TensorFlow 模型? 任何帮助将不胜感激。
您需要设置一些标志,特别是 --framework
(默认为 TensorFlow),还有 --runtime-version
(必须是 1.4 或更高版本)和(可能)--python-version
(默认为 2.7)。尝试类似 (reference):
gcloud beta ml-engine versions create v1 \
--model my_model \
--origin gs://path/to/model \
--runtime-version="1.8" \
--framework SCIKIT_LEARN
--python-version="3.5"
有关每个运行时版本中包含的内容的列表(即帮助您选择哪个版本),请参阅 here。
如果您运行正在使用 Datalab,那么您正在 运行正在使用不支持 scikit 学习的旧版本。 Datalab 的新更新随时都会发布。
但是,解决方法很简单。刚刚 运行
%bash
gcloud components update
在笔记本的某个单元格中