tensorflow獲取可用運算裝置(CPU,GPU)
阿新 • • 發佈:2018-11-08
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