我有兩個GPU,我只想用一個GPU通過張量流來訓練網絡。當我訓練它,在代碼中使用兩個GPU的所有的記憶,但只有一個GPU工作:tensorflow:在一個GPU上訓練網絡,但佔用另一個GPU的空間
我不知道爲什麼,以及如何解決這個問題。
我有兩個GPU,我只想用一個GPU通過張量流來訓練網絡。當我訓練它,在代碼中使用兩個GPU的所有的記憶,但只有一個GPU工作:tensorflow:在一個GPU上訓練網絡,但佔用另一個GPU的空間
我不知道爲什麼,以及如何解決這個問題。
默認情況下,tensorflow會佔用所有可用GPU的內存。您可以根據@ sygi的回答設置允許增長,或者根據雅羅斯拉夫的評論,只允許其中一個GPU對tensorflow可見。並根據this question。
最後,我使用兩種方法。 –
嘗試設置:
config = tf.ConfigProto()
config.gpu_options.allow_growth=True
sess = tf.Session(config=config)
在question。
在運行您的腳本之前執行'export CUDA_VISIBLE_DEVICES = 0' –