我正在尝试创建一个非常大的 Keras 模型并将其分布在多个 GPU 上。需要明确的是,我并不是想将同一模型的多个副本放在多个 GPU 上。我正在尝试将一个大型模型放在多个 GPU 上。我一直在 Keras 中使用 multi_gpu_model 函数,但是基于我在执行此操作时遇到的许多内存不足错误,它似乎只是在复制模型而不是像我想要的那样分发它。
我查看了 Horovod,但因为我有很多特定于 Windows 的日志记录工具正在运行,所以我对使用它犹豫不决。
这似乎只留下 tf.estimators 供我使用。尽管我将如何使用这些估计器来做我想做的事情,但从文档中并不清楚。例如,tf.contrib.distribute 中的哪种分配策略可以让我以我想要的方式有效地批量处理模型?
我正在寻求对估算器做什么,如果可以,我应该使用哪种策略?