【问题标题】:ML Engine: "Bad model detected... No module named trainer" when creating a model versionML 引擎:创建模型版本时“检测到错误模型...没有名为 trainer 的模块”
【发布时间】:2018-10-30 07:20:04
【问题描述】:

我已经成功地在 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 包。但是,我无法确认/拒绝这个假设或在文档中找到指向包的方法。

【问题讨论】:

    标签: scikit-learn google-cloud-ml


    【解决方案1】:

    你的假设是正确的。允许您上传自定义包以在预测时使用的功能目前仅作为 Alpha 功能提供。您可以通过此注册表单访问它: https://docs.google.com/forms/d/e/1FAIpQLSc6fxgXQIyA6BDLfCKOJPu5CyCuOB_M_rGTws0629od5mlznw/viewform?usp=sf_link

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-21
      • 1970-01-01
      • 1970-01-01
      • 2021-04-01
      • 2020-12-05
      • 1970-01-01
      • 2012-10-26
      • 1970-01-01
      相关资源
      最近更新 更多