前言
python & cuda & cudnn & 顯卡型 & tensorflow 版本如果匹配不好,可能會踩坑。。
本篇文章,講述了 全套安裝過程 與 我所踩過的坑。
環境推薦
我也不是一次成的,當時 tf-13rc問世時,弄了好久。
稍微提一下,python官網首頁的python3.7是 win32的。
我之前重裝系統偷懶下載的。用了很久才發現是32位的。。。。
Tensorflow必須是需要 win 64位的。 (終端下輸入 python就能看到是多少位的 xx bit )
注: 安裝路徑一律用 英文!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
最後成功的配套版本如下:
win10
gtx1050 (其他型號的,不保證,應該也能差不多)
python3.7 (感覺python問題並不是特別大。 建議 3.7)
cuda: cuda_10.0.130_411.31_win10
cudnn: cudnn-10.0-windows10-x64-v7.4.2.24
tensorflow-gpu==2.0.0-beta0
資源分享 (BaiduNet)
資源構成: CUDA + CUDNN + 4個vc環境 (vc環境幹啥的,下面說)
我的網盤: https://pan.baidu.com/s/1Z6Ha...
提取碼: 2qut
下載後別亂點,按順序看下面教程安裝。 有依賴的。
安裝CUDA
官鏈:https://developer.nvidia.com/... (如果你不想用我的工具包,可以自行CUDA官鏈)
如果你直接去安裝CUDA時,可能會拋error, 提示你,需要依賴 vs201+ 環境。
其實我們大可不必安裝 那麼大體積的vs, 而是安裝 vc_redist 插件即可。
安裝環節:
- 你可以看到我分享的資源中, 有4個 vc_redist。
下載下來, 防漏,從上到下挨個安裝一遍。(瞬裝很快,如果提示你已安裝,不用管。全部安裝一遍) - 然後安裝 CUDA,雙擊安裝即可 (選精簡版即可)(記住安裝路徑,我記得好像是默認自動路徑,忘了)
- 一路下一步,即可安裝成功
配置環節:
1. 默認自動安裝的路徑如下: (如果你選的自定義安裝,你要記住你的路徑)
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
2. 將此路徑配置到 環境變量 中
3. 關掉所有cmd, 重新打開cmd,輸入 nvcc -V
4. 沒報錯說明安裝成功。
安裝CUDNN
官鏈:https://developer.nvidia.com/...(如果你不想用我的工具包,可自行官鏈)
(官網下 CUDNN 貌似需要登錄)
操作環節:
- 你可以看到我分享的資源中,有CUDNN,下載下來,解壓(任意位置都可,記住就行)。
-
解壓後,進入解壓的目錄,你會看到有個cuda目錄,進去!然後做如下操作!!!
2.1. 進入 bin 目錄, 把裏面的文件(應該就一個),複製到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
2.2 進入 include 目錄,把裏面的文件(應該就一個),複製到
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include
2.3 進入 lib 目錄, 再繼續進入 x64 目錄,把裏面的文件(應該就一個),複製到
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64
說一下: 上面3個路徑,安裝cuda提到的(精簡版的默認路徑, 你的和我的是一模一樣的,直接複製)
-
將此路徑添加到環境變量 (同樣是默認路徑,直接拿去複製,配了就行):
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64
安裝Tensorflow
每個人有每個人的習慣,建議用用虛擬環境安裝東西。 我較熟練 virtualenv + virtualenvwrapper-win
當然,你直接裝也是沒問題的。
安裝tensorflow-gpu==2.0.0-beta0:
pip install tensorflow-gpu==2.0.0-beta0 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
安裝 matplotlib (非必須,但 反正也是不離手的東西,直接裝了吧)
pip install scipy matplotlib -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
至此,全部安裝完成,接下來測試。
測試安裝 & 測試是否使用GPU
import tensorflow as tf
print(tf.__version__)
print(tf.test.gpu_device_name())
就這3行代碼,即可。 看打印結果:
2.0.0-beta0 # 這是版本信息
/device:GPU:0 # GPU字樣就說明可以使用GPU了。
強迫症的掙扎
執行上面代碼測試的時候,我這裏是有一大串 warning的。 關於數據類型的 warning。其實無傷大雅。
不,很傷,我去github找了一下。其實就是你的 numpy版本太新了。 重裝換一個 1.17以下版本 就行。
CMD直接 運行以下命令即可:
pip uninstall -y numpy && pip install numpy==1.16.4
強迫症幫助者鏈接:https://github.com/tensorflow...
結束語
我的機子早一陣買的了, GTX1050的, 每個人的顯型都不同。
所以也許我給出的配套版本,不能滿足所有人需求。
下面說一下我之前裝的時候遇到的問題:
- 記得安裝路徑儘量全部,用英文。
- cuda安不上,因爲缺少 vs201+, (我上面說過了,安裝我分享的那4個vc_redist小文件可代替安裝 vs)
- 如果在安裝tensorflow時,提示你,沒有找到相關模塊:
3.1 可能是你的 python 和 pip 版本過低
3.2 可能是你的 python是32位的。 (不要偷懶去安裝主頁的python3.7,那個是32位的。必須用64位) - 如果在安裝tensorflow 或者 import tensorflow 時,給你報了一大堆錯誤:
4.0 首先看錯誤能不能看懂
4.1 可能是我給的 配套版本。 並不能滿足你的 機器,顯型。 這時候你就得自己去找對應版本了
4.2 我之前弄的時候,我記得好像有 Nvidia顯卡 & cuda & cudnn 的對照表。忘記錄了。可自行尋找。