【问题标题】:What level of control is required for google cloud mlgoogle cloud ml需要什么级别的控制
【发布时间】:2017-10-08 06:13:43
【问题描述】:

使用 google cloud ML 训练模型时:

官方的例子https://github.com/GoogleCloudPlatform/cloudml-samples/blob/master/census/tensorflowcore/trainer/task.py 使用了钩子、is_client、MonitoredTrainingSession 和其他一些复杂性。

这是 cloud ml 所必需的还是足够使用此示例:https://github.com/amygdala/tensorflow-workshop/tree/master/workshop_sections/wide_n_deep

文档在最佳实践和优化方面有些局限,GCP ML 是否会处理客户端/工作模式,或者我们是否需要设置设备,例如replica_device_setter等等?

【问题讨论】:

    标签: google-cloud-platform google-cloud-ml


    【解决方案1】:

    CloudML Engine 在很大程度上与您编写 TensorFlow 程序的方式无关。你提供一个 Python 程序,服务为你执行它,为它提供一些 environment variables,你可以使用它来执行分布式训练(如果需要),例如任务索引等。

    census/tensorflowcore 演示了如何使用“核心”TensorFlow 库做事——如何“从头开始”做所有事情,包括使用replica_device_settersMonitoredTrainingSessions 等。有时这可能是必要的,以获得最大的灵活性,但可能很乏味。

    除了 census/tensorflowcore 示例之外,您还会看到一个名为 census/estimator 的示例。这个例子基于一个更高级别的库,不幸的是它位于contrib,因此还没有一个完全稳定的 API(预计会有很多弃用警告等)。预计它会在 TensorFlow 的未来版本中稳定下来。

    那个特别的库(称为Estimators)是一个更高级别的API,可以为您处理很多繁琐的工作。它将为您解析TF_CONFIG 并设置replica_device_setter 以及处理MonitoredTrainingSession 和必要的Hooks,同时保持可定制性。

    这是您所指的广泛而深入的示例所基于的库,并且它们在服务上得到完全支持。

    【讨论】:

      猜你喜欢
      • 2017-12-19
      • 1970-01-01
      • 2017-08-03
      • 2020-07-14
      • 2018-03-08
      • 2014-02-25
      • 1970-01-01
      • 2017-06-15
      • 2019-06-17
      相关资源
      最近更新 更多