第9章 规模化运行模型——GPU和服务
直到现在为止,我们都还只是在一个主机的CPU上运行程序,这意味着,我们最多只能在几个处理核上运行程序(低端的电脑为2核或4核,高端的处理器能多达16核)。
然而,即使如此强大的计算资源在面对庞大的计算任务时,还有时力不从心。
因此,我们需要开发一种分布式的训练和运行模型的方式,这就是分布式TensorFlow的意图。
在本章中,你将会学到:
- 如何查看TensorFlow拥有的计算资源;
- 如何将任务分配给一个计算节点中不同的计算单元;
- 如何记录CPU操作日志;
- 如何在拥有很多分布式计算单元的集群上分布计算。
9.1 TensorFlow中的GPU支持
TensorFlow拥有CPU和GPU的原生支持,如图9-1所示。因此,TensorFlow可以为不同的计算使用一个版本。
图9-1 TensorFlow中的GPU支持
9.2 打印可用资源和设备参数
在我们开始使用操作之前,TensorFlow可以帮我们反映出可用的计算资源。这样我们才能将我们的操作选择性分配到可用资源上。
9.2.1 计算能力查询
为了获取一台机器上的计算元素,你可以使用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.