还有人可以列出在Gcloud上训练和部署张量流模型的详细步骤吗? 我有自己的代码,我不想改变。似乎代码必须采用某种严格的格式才能在Gcloud上使用,例如task.py文件等。
答案 0 :(得分:0)
让我看看我是否可以帮助你 - 这可能需要后续问题(这是受欢迎的)超出这个高级答案。
首先是文档 - 希望您看到https://cloud.google.com/ml-engine/docs/how-tos/training-steps链接到与此相关的各种主题。
让我试着总结一下你想要记住的一些关键事项。
在非常高的层次上,您需要创建一个接受一组命令行参数的python程序,因此界面非常通用。您不需要命名task.py。
您确实需要打包python代码以及声明依赖项,以便在您的作业在云上运行时安装它们。 (见https://cloud.google.com/ml-engine/docs/how-tos/packaging-trainer)
对于分布式培训,您需要使用TF_CONFIG环境变量来实例化可以与作业中的其他工作人员协调的TensorFlow服务器。见https://cloud.google.com/ml-engine/docs/concepts/trainer-considerations
使用gcloud工具提交作业时,您需要指定群集配置。
在云端,您需要阅读培训数据并从云存储中读取检查点,摘要和结果模型,而不是本地磁盘(这是瞬态的)。 TensorFlow在其文件I / O API中支持GCS。请参阅https://cloud.google.com/ml-engine/docs/how-tos/working-with-data
最后,当您使用ML Engine生成用于部署/预测的模型时(如果需要),请确保使用SavedModel API - https://cloud.google.com/ml-engine/docs/how-tos/deploying-models
希望这有助于您全面了解。
另一件有用的事情就是理解你所拥有的代码 - 它是基于低级TensorFlow API吗?还是基于Estimators?后者简化了许多方面(尤其是分布式培训)。
答案 1 :(得分:0)
我刚刚在2周前第一次亲自完成了这个过程。我建议使用这个tutorial(由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'