Here是一个非常好的教程,用于在TensorFlow中训练序列到序列模型。我只是想知道是否有一个分布式版本在一台机器上利用一组GPU 以获得更好的性能?
已经提到TensorFlow white paper可以训练大型多层递归神经网络(参见图8 和“模型并行训练”部分)在Sequence to Sequence Learning with Neural Networks中使用。有人知道当前的教程是否涵盖并行培训模型? 如果不是,如何改进原始教程以利用一组GPU?
答案 0 :(得分:1)
基本上要使用多个GPU,你必须使用内置范围内的tensorflow来明确地告诉它运行哪个设备。你可以让一堆GPU并行运行,然后使用一些设备来总结结果。这涉及很多张量流范围,必须明确地完成。因此,要使用gpu 0,您可以进行类似于此的调用:
with tf.device("/gpu:0"):
#do your calculations
然后在代码中的其他位置进行同步步骤:
with tf.device(aggregation_device):
#make your updates
链接很好地解释了这一点,但希望这可以帮助你开始
答案 1 :(得分:0)
检查一下: https://github.com/shixing/xing_rnn/tree/master/Seq2Seq
它实现了一个基于注意力的seq2seq模型,可以将每个图层放在不同的GPU上。