tf.device()指定運行設備

TensorFlow中,model 可以被指定在本地的GPU或CPU中運行。如果TensorFlow版本是GPU版本的,而且電腦上配置有符合條件的顯卡,model 是預設在顯卡下運行的。運行代碼將會提示以下內容:

如果需要切換成 CPU 運算,可以使用tf.device(device_name)函數,device_name('/cpu:0')格式中,/cpu:0其中的0表示設備號,TensorFlow 不區分 CPU 的設備號,設置為 0 即可。

GPU 區分設備號\gpu:0\gpu:1表示兩張不同的顯卡。
在一些情況下,我們即使是在GPU下跑模型,也會將部分 Tensor 儲存在記憶體裡,因為這個 Tensor 可能太大了,顯存不夠放,相比於顯存,記憶體一般大多了,於是這個時候就常常人為指定為 CPU 設備。這種形式我們在一些代碼中能見到。如:

with tf.device('/cpu:0'):
    build_CNN() # 執行此 build_CNN() 的資料會存在本地端的記憶體中,,而非顯卡的記憶體。

需要注意的是,這個方法會減少顯存的負擔,但是從內存把數據傳輸到顯存中是非常慢的,這樣做常常會減慢速度。

(with 可能需要解釋)

results matching ""

    No results matching ""