(2020最新)配置TensorFlow-gpu

配置TensorFlow-gpu

總結一下這次踩坑歷程,從早上弄到凌晨才堪堪搞定。

首先把需要注意的重要步驟列舉如下:

  • 使用anaconda配置環境
  • 安裝CUDA和CUdnn的正確版本
  • 安裝TensorFlow

anaconda配置環境

第一步當然就是安裝anaconda,裝好以後就可以打開anaconda prompt,然後輸入命令

conda create -n py36 python=3.6
conda activate py36
pip config set global.index-url https://pypi.douban.com/simple/

第一句是創建環境,其中py36是環境名,python=3.6是指定python版本,這是因爲TensorFlow只支持到3.6。這個過程中需要務必重視版本問題!

第二句是激活環境。

第三句是給pip換源,這也是提高效率的重要一步,使用國內源能大大提升下載速度,其中豆瓣源速度最快。

安裝CUDA和CUdnn

這是最耗費我時間的一步,我參照網上的教程踩坑無數,最終才成功安裝了正確版本。我最後選擇的CUDA版本不是最新的10.2或者是網上介紹的多的10.0,而是恰到好處的10.1。

原因很簡單,編譯CUDA需要使用visual studio,10.0需要vs2017,10.1以上需要vs2019。而我的電腦上正好有vs2019,加之現在要安裝vs2017太過於繁瑣。

然後有了10.1的CUDA當然就需要配套的CUdnn,這個可以去官網下載,但是太坑了,經常下載到一半就網絡連接失敗,十分不穩定。所以我把軟件傳上了百度雲,供各位下載:

鏈接:https://pan.baidu.com/s/13Q2-fZ-PEva5a7nWKd-96w
提取碼:52xg

所以其實不止需要準備CUDA和CUdnn,還需要正確版本的VS。
然後等CUDA安裝好之後,還需要設置系統環境變量path,添加上:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin

安裝TensorFlow

這裏就不難了,只需要安裝正確版本的就行,另外,不必特別去安裝TensorFlow-gpu,因爲最新版本的TensorFlow自動會優先選擇gpu進行運算。

這裏需要提一點就是,網上的教程大多都是TensorFlow 1的,然後很多也建議人去安裝TensorFlow 1.14。但是這就很麻煩了,因爲1.14對應CUDA 10.0,然後還需要vs2017,這就像俄羅斯套娃一樣,環環相扣,很難操作。

所以我的建議還是按部就班安裝最新版的TensorFlow。

pip install tensorflow

當然,需要注意的是,記得先激活環境py36再執行上面的安裝指令。

最終直接在anaconda prompt終端在py36環境中輸入下面指令進行測試。

python
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 13304585269051445485
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 529727078
locality {
  bus_id: 1
  links {
  }
}
incarnation: 15490686893388268312
physical_device_desc: "device: 0, name: GeForce MX250, pci bus id: 0000:02:00.0, compute capability: 6.1"
]

在我自己的電腦上運行輸出如上。上面的輸出表示,TensorFlow可用於運算的設備有兩個,一個cpu和一個gpu。至此就大功告成。

結語

雖然磕磕絆絆,但總算是用上了gpu,如果不是我滿腔熱血,估計也沒法堅持着探索出來…早知這麼麻煩就只用cpu好了。

接下來還有更大的坑——網上的教程都是TensorFlow 1的,然後我未來的TensorFlow 2學習之路估計也十分坎坷。

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