2017-10-21 185 views
2

如何編程keras或tensorflow以劃分多GPU上的訓練,假設您處於一個amaozn ec2實例,其中有8個GPU,並且您希望使用它們全部訓練得更快,但是您的代碼僅適用於單個CPU或GPU?使用多個GPU訓練一個模型

+0

這是有點廣泛的這個網站。您要求我們爲您設計解決方案。 https://stackoverflow.com/help/how-to-ask – jdv

回答

2

是的,可以在多個GPU上運行Keras模型。這隻能在TensorFlow後端暫時使用,因爲Theano功能還是比較新的。我們正考慮在不久的將來在Theano添加對多GPU的支持(它應該相當簡單)。

使用TensorFlow後端,您可以像使用純TensorFlow一樣完成此任務:在定義Keras圖層時使用with tf.device(d)scope。

最初來自here

+1

作爲對此答案的補充,您可以在以下鏈接中查看答案。我們的想法是爲每個圖層組設置'tf.device('/ gpu:0'):'或'tf.device('/ gpu:1')'等。 https://stackoverflow.com/questions/46366216/tensorflow-is-it-possible-to-manually-decide-which-tensors-in-a-graph-go-to-th –

+0

@DanielMöller:謝謝! –

相關問題