我配得上嗎?這個很難配嗎?我配了好久都配不上...
今天的主題是在筆記本上配置tensorflow的GPU環境,介紹安裝的相關流程及注意點,保證一學就費。
【配置】:
win10+python 3.7+tensorflow2.0.0+Cuda 10.0+Cudnn 7.6.5+GTX 1650
【安裝思路】:
0.主要是弄清自己的版本、自己需要裝的版本
1.查看自己電腦有沒有GPU
2.查看自己NVIDA GPU驅動程序的版本並安裝CUDA驅動
3.查看cuda和tensorflow-gpu、cudnn對應版本
4.創建虛擬環境安裝對應的tensorflow版本
5.檢測能否使用GPU
6.在spyder/pycahrm中的bug
【1】.查看自己電腦有沒有GPU
打開自己電腦的設備管理器,看顯示適配器裡面有沒有獨顯,比如我這裡是NVIDIA GTX 1650.
如果你有獨顯GPU的話就可以進行下一步了。
【2】.查看自己NVIDA GPU驅動程序的版本並安裝CUDA驅動
在設備管理器下點擊你獨顯的屬性,可以在下圖看見驅動程序的版本號,我們只需要看後面5位數字就行了,這一步很重要,關係到你需要安裝cuda版本。
因為CUDA版本對顯卡驅動的版本有要求:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
我自己的版本是4.1971的,可以選擇CUDA10.1、10.0的版本,我這裡選擇的時候是10.0。
下載對應CUDA版本的地址:
https://developer.nvidia.com/cuda-toolkit-archive
最好下載本地版,然後進行安裝。安裝cuda_10.0.130_411.31_win10.exe,路徑沒有要求。
選擇自定義安裝:
都要選上!!!
就裝好了,可以在cmd中運行nvcc-V 檢驗下。
裝好cuda驅動後,我們還需要下載cudnn和對應的tensorflow。
【3】.查看cuda和tensorflow-gpu、cudnn對應版本
這裡我選擇安裝tensoflow 2.0.0的,因為我自己在虛擬環境裝1.13速度裝不上(可能網絡原因)。
注意,這裡裝好tensorflow2.0.0後的,還需要下載cudnn,需要下載tensorflow 2.0.0的要下載cudnn 7.6.5的,上圖有誤。
下載cudnn的地址:https://developer.nvidia.com/rdp/cudnn-archive#a-collapse765-101
需要簡單註冊下,下載你需要的版本即可。
然後解壓:
把這三個文件夾放到剛才裝cuda的位置,進行替換,這是我的路徑C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0:
注意上面替換這一步工作很重要,不然就會:
Could not load dynamic library'cudnn64_7.dll'
【4】.創建虛擬環境安裝對應的tensorflow版本
上面我們已經明確裝tensorflow2.0.0了,ok讓我們開始把。
(1)創建虛擬環境tensorflow_gpu,我選擇的是python3.7
conda create -n tensorflow_gpu python=3.7
(2)激活虛擬環境
activate tensorflow_gpu
(3)安裝anaconda
conda install anaconda
(4)安裝tensorflow
conda install tensorflow==2.0.0
(5)安裝tensorflow-gpu
conda install tensorflow-gpu
【5】.檢測能否使用GPU
import tensorflow as tfif tf.test.gpu_device_name(): print('Default GPU Device: {}'.format(tf.test.gpu_device_name()))else:print("Pleaseinstall GPU version of TF")import tensorflow as tftf = tf.Session(config=tf.ConfigProto(log_device_placement=True))tf.list_devices()
import tensorflow as tftf.test.gpu_device_name() from tensorflow.python.client importdevice_libdevice_lib.list_local_devices()方法1的結果:
列印:Default GPU Device: /device:GPU:0
默認GPU名字為0.
【6】.在spyder/pycahrm中的bug
(1)在spyder/pycahrm把編譯環境設置到虛擬環境的路徑下就可以了
(2)如果pycharm報錯:Process finished with exit code -1073741819 (0xC0000005),就需要更新h5py。
你可以在虛擬環境下conda list看下h5py這個包的版本,如果是2.8就update下就可以了。
(3)如果更改到虛擬環境後spyder出現類似下面這種錯誤,請在虛擬環境中安裝提示的包即可。
![]()
但是後來運行代碼發現,spyder會報錯:
TypeError: handle_get_file_code() got anunexpected keyword argument 'save_all',我目前還沒解決,在pycharm運行代碼就沒問題。
所以建議在pycharm中運行使用GPU的代碼。
這樣就能快樂的跑代碼遼~
End
作者:濤
網站:http://atshare.top/半壺水全棧工程師,好讀書,甚喜之