0

也有人可以列出在 Gcloud 上训练和部署 tensorflow 模型的详细步骤吗?我有自己不想更改的代码。似乎代码必须采用某种严格的格式才能在 Gcloud 上使用,例如 task.py 文件等。

4

2 回答 2

0

让我看看我是否可以帮助您——这可能需要超出此高级答案的后续问题(欢迎提出)。

首先是文档 - 希望您已经看到https://cloud.google.com/ml-engine/docs/how-tos/training-steps链接到此处相关的各种主题。

让我尝试总结一些您要记住的关键事项。

  1. 在非常高的层次上,您需要编写一个接受一组命令行参数的 python 程序,因此接口相当通用。您不需要将事物命名为 task.py。

  2. 您确实需要打包您的 python 代码并声明依赖项,以便在您的作业在云上运行时安装它们。(见https://cloud.google.com/ml-engine/docs/how-tos/packaging-trainer

  3. 在分布式训练的情况下,您需要使用 TF_CONFIG 环境变量来实例化一个 TensorFlow 服务器,该服务器可以与您工作中的其他工作人员进行协调。请参阅此https://cloud.google.com/ml-engine/docs/concepts/trainer-considerations

  4. 当您使用 gcloud 工具提交作业时,您需要指定集群配置。

  5. 在云中,您需要读取训练数据并将检查点、摘要和生成的模型从/写入云存储,而不是本地磁盘(这是暂时的)。TensorFlow 在其文件 I/O API 中支持 GCS。请参阅https://cloud.google.com/ml-engine/docs/how-tos/working-with-data

  6. 最后,当您使用 ML Engine 生成用于部署/预测的模型时(如果需要),请确保使用 SavedModel API - https://cloud.google.com/ml-engine/docs/how-tos/部署模型

希望这有助于为您提供广泛的概述。

另一件有帮助的事情是理解你拥有的代码——它是基于低级 TensorFlow API 的吗?还是基于估算器?后者简化了许多方面(尤其是分布式训练)。

于 2017-07-22T00:01:05.440 回答
0

两周前,我自己第一次经历了这个过程。我推荐的是使用本教程(由 Google 的好心人创建)。

我不记得遇到任何大问题,但如果您遇到任何障碍,请告诉我,我可能会帮助您。

要在上述链接教程的示例中将预测输入从 json 更改为 csv,您会注意到给定的默认值是“JSON”,但可以将其更改为“CSV”(source):

parser.add_argument(
      '--export-format',
      help='The input format of the exported SavedModel binary',
      choices=['JSON', 'CSV', 'EXAMPLE'],
      default='JSON'
  )

这意味着您可以指定--export-format 'CSV'何时创建模型。例如:

python trainer/task.py \
--train-files ~/Documents/data/adult.data.csv \
--eval-files ~/Documents/data/adult.test.csv \
--job-dir ~/Documents/models/census/v1 \
--train-steps 100 \
--verbosity 'DEBUG' \
--export-format 'CSV'
于 2017-08-23T18:40:24.970 回答