1. 程式人生 > >tensorflow獲取可用運算裝置(CPU,GPU)

tensorflow獲取可用運算裝置(CPU,GPU)

Welcome To My Blog
正常來說,執行下面兩句會列印tensorflow能用的CPU和GPU

from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

結果發現只有CPU可用,查閱資料後發現可能跟tensorflow版本有關,在終端執行pip3 list檢視安裝的包

pip3 list

發現有兩個tensorflow,一個是tensorflow,還有一個是tensorflow-gpu.解除安裝無gpu版本的tensorflow

pip3 uninstall tensorflow

重新執行最開始兩句程式碼,結果報錯:

ImportError: No module named 'tensorflow.python'

解除安裝tensorflow-gpu後重新安裝

pip3 uninstall tensorflow-gpu
pip3 install tensorflow-gpu==1.4.0

重新執行最開始兩句程式碼,成功:

[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 13177083330855175469
, name: "/device:GPU:0"
device_type: "GPU" memory_limit: 10968950375 locality { bus_id: 1 } incarnation: 6161624703599064583 physical_device_desc: "device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:00:08.0, compute capability: 6.1" ]

總結

最開始存在兩個tensorflow包:無gpu版本的tensorflow和gpu版本的tensorflow-gpu,可能是預設使用了無gpu版的tensorflow,所以可用裝置中沒有GPU