1

我是 Tensorflow 的新手。我一直在学习如何使用 TensorFlow 以分布式方式训练模型,并且我可以访问多个服务器,每个服务器都有多个 CPU。

文档教程中清楚地概述了培训机制,但是在培训多个工人时,数据管理存在一些歧义。在我的理解中,数据应该共享和存储在一台机器上,并tf.distribute.DistributedDataset在工作人员之间分发数据。

我对共享数据存储在一台机器上的理解是否正确?

想一想我们的网络中有多个工作人员的情况,我们想在一个大型数据集上训练一个模型 10 个 epoch。tf.distribute.DistributedDataset向工人发送数据 10 次是真的吗?有没有什么机制可以防止同一批数据发送给同一个worker十次?

例如,这篇文章指出:

Spark 和 HDFS 旨在很好地协同工作。当 Spark 需要来自 HDFS 的一些数据时,它会抓取最近的副本,从而最大限度地减少数据在网络上传输的时间。

我正在为 Tensorflow 的分布式训练寻找类似的东西。

4

0 回答 0