ML引擎:创建模型版本时,“检测到错误的模型...没有名为培训师的模块”

时间:2018-10-26 14:51:41

标签: scikit-learn google-cloud-ml

我已经成功地在ML Engine上训练了模型。我可以从Cloud Storage存储桶中获取model.joblib文件并进行加载,还可以使用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模块中的函数。我想知道提供预测的VM是否尚未安装该trainer软件包。但是,我一直无法确认/拒绝这个假设,也无法在文档中找到指向该软件包的方法。

1 个答案:

答案 0 :(得分:0)

您的假设是正确的。允许您上传自定义程序包以供预测时使用的功能仅在当下可用作alpha功能。您可以通过以下注册表格访问它: https://docs.google.com/forms/d/e/1FAIpQLSc6fxgXQIyA6BDLfCKOJPu5CyCuOB_M_rGTws0629od5mlznw/viewform?usp=sf_link