【发布时间】:2021-02-19 14:46:26
【问题描述】:
我想用 Tensorflow 2 严格复现Alexnet 神经网络:
从互联网上存在的numerous implementations 中,我找不到任何将模型分成两部分的模型,如论文和上图所述。据我了解,当时是因为 GPU 内存限制才这样做的。
但我想知道 TensorFlow 2 是否可以实现这种实现以及如何实现? 如何将模型一分为二,分配给两个不同的 GPU,同时仍然合并某些层(第 2、5、6 层)的输出。
我敢打赌,Keras 的级别太高,无法处理这种复杂性,而且 TF 的自动化分布式策略很难控制设备分配和同步。
我尝试通过将层分组到模型中(例如第 1 层和第 2 层)并使用 tf.device('/GPU:x') 将这些组分配给它们各自的设备,同时仍然连接输出。然后尝试在两个 GPU 之间并行化和同步层...
但我无法接近......所以,任何方法/建议都值得赞赏
【问题讨论】:
标签: python tensorflow distributed-computing imagenet