Tensorflow:如何为多GPU模型并行性编写干净的代码?

时间:2017-01-22 18:20:34

标签: tensorflow gpu

目前,我实现了一个大型自定义模型,并引用了与tensorflow一起提供的CIFAR 10的multi gpu示例。然而,我最终编写的代码基于不干净并且容易出错。对于例如我必须找到每个可训练的变量并添加"和tf.device(' / cpu:0')"。

是否有更有效/更清晰的方法来适应多GPU执行?

非常感谢任何支持。

1 个答案:

答案 0 :(得分:2)

这是来自Rafal的example

你在塔身上做一个循环,身体构建i塔为with tf.device(assign_to_gpu(i))。函数assign_to_gpu以不同方式处理变量并将它们分配到" ps-device"。

注意:我们发现当GPU连接到p2p时,如果保留变量gpu:0而不是cpu:0

,则培训速度会更快