【发布时间】:2019-09-18 19:42:51
【问题描述】:
我最近对将分布式培训融入到我的 Tensorflow 项目中产生了兴趣。我正在使用 Google Colab 和 Python 3 来实现具有自定义、分布式训练循环的神经网络,如本指南中所述: https://www.tensorflow.org/tutorials/distribute/training_loops
在“创建分配变量和图表的策略”部分下的指南中,有一些代码的图片基本上设置了“MirroredStrategy”,然后打印生成的模型副本的数量,见下文.
据我了解,输出表明 MirroredStrategy 只创建了模型的一个副本,因此,将只使用一个 GPU 来训练模型。我的问题:Google Colab 是否仅限于在单个 GPU 上进行训练?
我尝试在使用和不使用 GPU 加速的情况下调用 MirroredStrategy(),但我每次只能得到一个模型副本。这有点令人惊讶,因为当我在 Python 中使用 multiprocessing 包时,我得到了四个线程。因此,我希望可以在 Google Colab 中并行训练四个模型。 TensorFlow 的分布式训练实施是否存在问题?
【问题讨论】:
标签: tensorflow gpu distributed-computing google-colaboratory