2016-11-20 39 views
0

我有四個GPU卡,CPU不會爲所有GPU進行足夠快的圖像預處理。隊列快速耗盡,大部分時間卡都空閒。有沒有辦法將QueueRunner放在這四張GPU卡中的一張上,這樣一張卡就可以進行預處理並形成隊列,而其他三張卡則實際上訓練模型?TensorFlow:GPU上的圖像預處理

回答

0

是的,應該有可能。您可以將預處理python函數封裝在tf.py_func中,創建一個TF操作並使用with tf.device("gpu:0"):將其放到請求的GPU中,在那裏創建一個隊列並使用另一個gpus上的出隊操作。

+0

您確定這是否行?我認爲python函數仍然會在CPU上運行,對吧? –