2
我想編寫一個斷言,以確保圖形中的某些操作將在特定設備上運行。我如何以編程方式確定op的設備位置,以便我可以編寫這樣的斷言?以編程方式獲取Tensorflow op的設備位置
我想編寫一個斷言,以確保圖形中的某些操作將在特定設備上運行。我如何以編程方式確定op的設備位置,以便我可以編寫這樣的斷言?以編程方式獲取Tensorflow op的設備位置
可以確保操作被操作的定義之前使用
with tf.device('/gpu:0'):
特定的設備上運行(參見here瞭解更多信息)。
編輯:
每一個可用的GPU有自己的索引: '/ GPU:0', '/ GPU:1', '/ GPU:2' 等這樣你就可以綁定特定的操作具體的gpus。當你輸入tensorflow時,它會打印出哪個gpus可用以及它們被分配了哪個索引。
(例如它打印:創建TensorFlow設備(/ GPU:0) - >(設備:0,名稱:的GeForce GTX 1070,PCI總線ID:...))
這將確保事情AREN不會意外地在CPU上運行,而不是在GPU上運行。問題是它不能確保你使用的是預期的GPU。例如,這不會在您的顯示器GPU上抓住您的訓練模型。 –
@ sudo-nim在給定的鏈接中,第一段顯示如何分配不同的gpus。我編輯了我的答案,使其更清晰。 – BlueSun
這很有幫助,唯一的問題是我仍然需要檢查日誌以查看設備映射是什麼。如果我在具有不同設備映射的其他機器上運行我的代碼,或者使用我的nvidia安裝程序更改某些內容,則不會自動捕獲它。 –