Tensorflow學習筆記day02 + 指定CPU和GPU設備

TensorFlow 支持 CPU 和 GPU。它也支持分佈式計算。可以在一個或多個計算機系統的多個設備上使用 TensorFlow。

TensorFlow 將支持的 CPU 設備命名爲“/device:CPU:0”(或“/cpu:0”),第 i 個 GPU 設備命名爲“/device:GPU:I”(或“/gpu:I”)。

具體做法

import tensorflow as tf

手動選擇 CPU 進行操作:

import tensorflow as tf

with tf.device(’/cpu:0’):
v1 = tf.constant([1.0, 2.0, 3.0], shape=[3], name=‘v1’)
v2 = tf.constant([1.0, 2.0, 3.0], shape=[3], name=‘v2’)
sumV12 = v1 + v2

with tf.Session(config=tf.ConfigProto(log_device_placement=True)) as sess:
    print (sess.run(sumV12))

手動選擇一個GPU 來操作:

使用 tf.device(’/gpu:1’) 指定Session在第二塊GPU上運行:

import tensorflow as tf

with tf.device(’/gpu:1’):
v1 = tf.constant([1.0, 2.0, 3.0], shape=[3], name=‘v1’)
v2 = tf.constant([1.0, 2.0, 3.0], shape=[3], name=‘v2’)
sumV12 = v1 + v2

with tf.Session(config=tf.ConfigProto(log_device_placement=True)) as sess:
    print sess.run(sumV12)

ConfigProto() 中參數 log_device_placement=True 會打印出執行操作所用的設備

如果安裝的是GPU版本的tensorflow,機器上有支持的GPU,也正確安裝了顯卡驅動、CUDA和cuDNN,默認情況下,Session會在GPU上運行,可以通過改上面那個參數

手動選擇多個GPU:

拓展

函數 tf.device() 選擇設備(CPU 或 GPU)。with 塊確保設備被選擇並用於其操作。with 塊中定義的所有變量、常量和操作將使用在 tf.device() 中選擇的設備。

會話配置使用 tf.ConfigProto 進行控制。通過設置 allow_soft_placement 和 log_device_placement 標誌,告訴 TensorFlow 在指定的設備不可用時自動選擇可用的設備,並在執行會話時給出日誌消息作爲描述設備分配的輸出。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章