如何使用云 ML 对 csv 文件而不是 json 进行预测?
How to use cloud ML for predictions on csv files rather than json?
也有人可以列出在 Gcloud 上训练和部署 tensorflow 模型的详细步骤吗?
我有自己的代码,我不想更改。似乎代码必须采用某种严格的格式才能在 Gcloud 上使用,例如 task.py 文件等
让我看看是否可以为您提供帮助——除了这个高级答案之外,这可能需要后续问题(欢迎提出)。
首先是文档 - 希望您已经看到 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 工具提交作业时,您需要指定集群配置。
在云中,您需要读取训练数据并写入检查点、摘要和生成的模型 from/to 云存储,而不是本地磁盘(这是瞬态的)。 TensorFlow 在其文件 I/O API 中支持 GCS。参见 https://cloud.google.com/ml-engine/docs/how-tos/working-with-data
最后,当您使用 ML Engine 生成用于 deployment/prediction 的模型时(如果需要),请确保使用 SavedModel API - https://cloud.google.com/ml-engine/docs/how-tos/deploying-models
希望这对您有一个全面的了解。
另一件有帮助的事情是理解您拥有的代码——它是否基于低级 TensorFlow API?还是基于 Estimator?后者简化了很多方面(尤其是分布式训练)。
两周前我自己第一次经历了这个过程。我推荐的是使用 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'
也有人可以列出在 Gcloud 上训练和部署 tensorflow 模型的详细步骤吗? 我有自己的代码,我不想更改。似乎代码必须采用某种严格的格式才能在 Gcloud 上使用,例如 task.py 文件等
让我看看是否可以为您提供帮助——除了这个高级答案之外,这可能需要后续问题(欢迎提出)。
首先是文档 - 希望您已经看到 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 工具提交作业时,您需要指定集群配置。
在云中,您需要读取训练数据并写入检查点、摘要和生成的模型 from/to 云存储,而不是本地磁盘(这是瞬态的)。 TensorFlow 在其文件 I/O API 中支持 GCS。参见 https://cloud.google.com/ml-engine/docs/how-tos/working-with-data
最后,当您使用 ML Engine 生成用于 deployment/prediction 的模型时(如果需要),请确保使用 SavedModel API - https://cloud.google.com/ml-engine/docs/how-tos/deploying-models
希望这对您有一个全面的了解。
另一件有帮助的事情是理解您拥有的代码——它是否基于低级 TensorFlow API?还是基于 Estimator?后者简化了很多方面(尤其是分布式训练)。
两周前我自己第一次经历了这个过程。我推荐的是使用 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'