【发布时间】:2019-07-27 05:44:54
【问题描述】:
我正在尝试了解 Tensorflow 镜像策略和 Horovod 分布策略之间的基本区别。
从文档和源代码调查中,我发现 Horovod (https://github.com/horovod/horovod) 正在使用消息传递协议 (MPI) 在多个节点之间进行通信。具体来说,它使用 MPI 的 all_reduce、all_gather。
根据我的观察(我可能错了)Mirror Strategy 也在使用 all_reduce 算法(https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/distribute)。
他们都使用数据并行的同步训练方法。 所以我有点困惑它们有什么不同?差异仅在实现上还是存在其他(理论)差异?
镜像策略和horovod相比表现如何?
【问题讨论】:
标签: tensorflow deep-learning mpi distributed-tensorflow horovod