【问题标题】:Generate SavedModel from Tensorflow model to serve it on Google Cloud ML从 TensorFlow 模型生成 SavedModel 以在 Google Cloud ML 上提供服务
【发布时间】:2019-07-22 15:53:19
【问题描述】:

我使用 TF Hub 重新训练了一个图像分类模型。现在我想在云中提供它。为此,我需要一个SavedModel。 TF Hub 中的retrain.py 脚本使用tf.saved_model.simple_save 在训练完成后生成SavedModel

让我感到困惑的是,我从该方法获得的 SavedModel 文件夹中的 .pb 文件比训练后保存的最终 .pb 文件小得多。

simple_save 现在也已弃用,我尝试在完成此SO issue 之后的培训后​​获得我的SavedModel

但是我的variables folder 是空的。如何将 SavedModel 的构建合并到 retrain.py 中以替换 simple_save 方法?小费将不胜感激。

【问题讨论】:

标签: tensorflow tensorflow-serving google-cloud-ml


【解决方案1】:

要将您的模型部署到 Google Cloud ML,您需要一个可以从 tf.saved_model api 生成的 SavedModel。

以下是使用 Cloud ML Engine 在云端托管经过训练的模型的步骤。

  1. 通过使用BUCKET_NAME="your_bucket_name" 设置云存储桶,将您保存的模型上传到云存储桶

  2. 为您的存储桶选择一个区域并设置一个REGION 环境变量。 EGION=us-central1

  3. 新建存储桶gsutil mb -l $REGION gs://$BUCKET_NAME

  4. 上传使用 SAVED_MODEL_DIR=$(ls ./your-export-dir-base | tail -1) gsutil cp -r $SAVED_MODEL_DIR gs://your-bucket

  5. 创建 Cloud ML Engine 模型资源和模型版本。

对于您在 retrain.py 中合并 savemodel 的问题,您需要将保存的模型作为参数传递给 tfhub_module 行,如下所示。

python retrain.py --image_dir C: ...\\code\\give the path here --tfhub_module C:

...给出保存模型目录的路径

【讨论】:

  • 因此,最好总结一下答案中包含的任何链接的内容,以防链接停止工作。
  • 感谢您的建议。我删除了链接(我之前提到过)并添加了有用的内容。这会更有帮助。
猜你喜欢
  • 2018-01-30
  • 2019-10-05
  • 1970-01-01
  • 1970-01-01
  • 2017-04-17
  • 1970-01-01
  • 2018-03-24
  • 1970-01-01
  • 2017-11-03
相关资源
最近更新 更多