【问题标题】:Tensorflow with GPU on Google Cloud在 Google Cloud 上使用 GPU 的 TensorFlow
【发布时间】:2017-05-10 12:14:22
【问题描述】:

我有一个使用 tensorflow 的 Google 机器学习模型,没关系。 现在我想用 GPU 做一些预测。 我看到了这个link,但它讲述的是使用 GPU 进行训练而不是预测。预测会话中与 GPU 无关。

有人知道是否可以使用带有 GPU 的谷歌机器学习引擎进行预测?或者如果我使用 GPU 进行训练,我的预测会自动使用 GPU 运行?

我正在使用以下命令行:

gcloud ml-engine predict --model ${MODEL_NAME} --json-instances request.json

此命令有效,但它正在使用 CPU。 附加信息:我的模型发布在 us-east1 区域,我的比例是自动的。

【问题讨论】:

  • 从 Tensorflow 的角度来看,训练和推理几乎是一回事。没有特殊的训练模式——你只是运行一个稍微不同的图表。如果您可以进行训练,则可以在同一台机器上进行推理。
  • 谢谢彼得,我不明白这一点,但我正在使用以下命令:gcloud ml-engine predict --model ${MODEL_NAME} --json-instances ${MY_JSON} 我想运行使用此命令使用 GPU 进行预测。我怎样才能做到这一点?这是我的疑问....
  • 也许我大错特错了,但是; gcloud ml-engine predict - run Cloud ML Engine online prediction。你似乎在网上运行这个。 Google 在其服务器中使用 TPU(张量处理单元)。不确定在这种情况下“使用 GPU 运行”是否有意义。
  • 是的,我正在上网,我也不知道这是否有意义。现在我正在使用 GPU 训练我的模型,我将尝试进行在线预测以确定是否可以使用 GPU。

标签: machine-learning tensorflow gcloud google-cloud-ml-engine


【解决方案1】:

您不能选择在 ml-engine 中使用 GPU 进行预测。目前还不清楚他们是否默认使用 GPU——我会链接到文档,但没有可用的。

不过,我确信他们没有使用 TPU。目前,Google 仅将 TPU 用于内部服务;尽管他们创建了一个专门供研究人员试验的 TPU 云:https://yourstory.com/2017/05/google-cloud-tpus-machine-learning-models-training/

如果您想更好地控制预测的运行方式,您可以以相同的价格配置具有高性能 Tesla K80 GPU 的 Google 计算引擎。您的 TensorFlow 模型也可以在那里工作,而且设置起来很简单。

我的建议是使用您的 GCE 实例进行基准预测,然后将它们与机器学习引擎进行比较。如果 ml-engine 比 GCE 快,那么 Google 可能正在使用 GPU 进行预测。当然,他们的目标是在未来提供 GPU 和 TPU 作为机器学习引擎,但如今,HPC 云的需求正在超载。

【讨论】:

  • 谢谢你!这就是我想做的事情!我读了很多关于这个主题的文章,也给谷歌团队发了电子邮件。我会像你说的那样运行我的测试。
【解决方案2】:

GCP ML Engine 上的在线预测默认使用具有高延迟的单核 CPU。如果它符合您的要求,您可以使用更快地提供预测的四核 CPU。要使用它,您必须指定 CPU 的类型,以便在 ML Engine 上创建模型版本的预测。文档链接:https://cloud.google.com/ml-engine/docs/tensorflow/online-predict

【讨论】:

    【解决方案3】:

    我们现在支持 GPU。文档here!

    例子:

    gcloud beta ai-platform versions create version_name \
      --model model_name \
      --origin gs://model-directory-uri \
      --runtime-version 2.1 \
      --python-version 3.7 \
      --framework tensorflow \
      --machine-type n1-standard-4 \
      --accelerator count=1,type=nvidia-tesla-t4 \
      --config config.yaml
    
    

    如果您的模型版本使用 Compute Engine (N1) 机器类型之一,您可以选择添加 GPU 来加速每个预测节点。

    • NVIDIA Tesla K80
    • NVIDIA Tesla P4
    • NVIDIA Tesla P100
    • NVIDIA Tesla T4
    • NVIDIA Tesla V100

    【讨论】:

      【解决方案4】:

      这个网站有一些信息:

      https://cloud.google.com/ml-engine/docs/how-tos/getting-started-training-prediction

      但是,这是一种完全不同的训练和预测方式。它们提供了对其服务基础设施进行培训和预测的方法。您只需使用您的 Tensorflow 程序构建模型,然后将他们的硬件与他们的云 SDK 一起使用。所以不管它是运行在 CPU 上还是 GPU 上都不应该打扰你。

      【讨论】:

      • 是的,那是我在答案中放入的链接(特定于培训部分)。在本节中,有一个如何使用 GPU 进行训练,但在预测部分中没有关于 GPU 的项目。我正在阅读很多关于此的内容,也许@Cort3z 是对的(使用 TPU 运行 ml-engine predict)
      猜你喜欢
      • 2019-11-02
      • 1970-01-01
      • 2018-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-01
      • 1970-01-01
      • 2020-03-15
      相关资源
      最近更新 更多