第9章 规模化运行模型——GPU和服务

直到现在为止,我们都还只是在一个主机的CPU上运行程序,这意味着,我们最多只能在几个处理核上运行程序(低端的电脑为2核或4核,高端的处理器能多达16核)。

然而,即使如此强大的计算资源在面对庞大的计算任务时,还有时力不从心。

因此,我们需要开发一种分布式的训练和运行模型的方式,这就是分布式TensorFlow的意图。

在本章中,你将会学到:

  • 如何查看TensorFlow拥有的计算资源;
  • 如何将任务分配给一个计算节点中不同的计算单元;
  • 如何记录CPU操作日志;
  • 如何在拥有很多分布式计算单元的集群上分布计算。

TensorFlow拥有CPU和GPU的原生支持,如图9-1所示。因此,TensorFlow可以为不同的计算使用一个版本。

图9-1 TensorFlow中的GPU支持

在我们开始使用操作之前,TensorFlow可以帮我们反映出可用的计算资源。这样我们才能将我们的操作选择性分配到可用资源上。

为了获取一台机器上的计算元素,你可以使用log_device_placement,当建立一个TensorFlow会话的时候,按照这种方式:

python
>>>Import tensorflow as tf
>>>sess = tf.Session(config=tf.ConfigProto(log_device_placement=True)) ...

Get TensorFlow构建机器学习项目 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.