前言
前段時間更新自己電腦上的tf1.4到1.9,沒想到踩了這么多坑。。。特意記錄下來希望可以幫到大家
刪除舊版本
如果你電腦上沒有安裝舊版本的tf,就可以忽略這一步。我是因為想要升級到最新版本,所以需要先卸載舊版本。舊版本是用anaconda安裝的,卸載很簡單,首先進入安裝tf的環境,我的環境是“tensorflow”:
activate tensorflow
然后卸載TensorFlow就好,或者直接刪除這個tensorflow的環境,卸載tensorflow可以使用:
(tensorflow)pip uninstall tensorflow-gpu
前提是你安裝的時候使用的是pip指令。直接刪除環境可以使用:
conda env remove -n tensorflow
安裝CUDA
要安裝CUDA需要滿足下面的四個條件:
- A CUDA-capable GPU (一個可以運行CUDA的顯卡)
- A supported version of Microsoft Windows(一個支持CUDA的系統)
- A supported version of Microsoft Visual Studio(一個支持CUDA的VisualStudio)
- the NVIDIA CUDA Toolkit (available at http://developer.nvidia.com/cuda-downloads) (CUDA的安裝文件)
這里需要注意的是,安裝tensorflow-gpu1.9必須嚴格安裝CUDA9.0,任何9.X都不可以,比如CUDA9.2什么的都不行,因為tensorflow會去尋找xxxx90.dll,如果是CUDA9.2之類的,這些dll的名稱是xxxx92.dll,會報出找不到的錯誤。
還有一點需要注意,如果你的電腦上沒有VS,那么你需要先去安裝,請先自行下載安裝VS2015,或者在我給出的鏈接中下載:
VS的安裝需要一定的時間,請耐心等待。
如果你覺得前三個條件滿足,那么就可以下載CUDA9.0了,下載地址是CUDA9.0,選擇如下圖所示,然后下載:
下載完成后,雙擊安裝。這里又有一個坑,我的顯卡是GTX 750M,直接選擇“精簡”模式的安裝會報錯導致不能安裝,報錯的原因是Visual Studio Intergration不能正確安裝導致的失敗。
你可以選擇直接精簡安裝試試運氣,也可以跟着我下面的教程選擇“自定義”安裝,下面介紹如何自定義安裝:
- 在剛剛雙擊安裝文件后,會讓你找一個解壓臨時文件的路徑,保存下這個路徑:
- 抽取完成先進入這個路徑,把里面的CUDAVisualStudioIntegration文件夾拷貝到其他地方保存,然后繼續安裝
- 選擇自定義安裝,點擊下一步
- 除了Visual Studio Intergration其他的都打對勾,如下圖所示:
-
完成后,我們需要手動安裝之前沒有安裝的Visual Studio Intergration,進入以下路徑:
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations
-
將我們之前保存的那個CUDAVisualStudioIntegration文件夾中的\extras\visualstudiointegration\MSBuildExtensions下面的所有文件拷貝到上面的那個路徑中去即可。
-
完成后,進入這個路徑中,其中ProgramData是隱藏文件夾,看不到的話就去文件夾選項里勾選查看隱藏文件
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0\5_Simulations\nbody
-
因為之前安裝的是VS2015,所以選擇15的sln
- 接下來會打開VS2015,如果你的電腦上缺某些組件,這個時候VS會自動提醒你需要補充安裝,安裝即可。安裝完成后在屏幕上方調成debug和x64
- 右擊右側的“解決方案”,選擇生成解決方案進行編譯
-
成功后進入路徑
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0\bin\win64\Debug
-
雙擊運行剛剛編譯得到的“nbody.exe”,得到下圖所示表示安裝成功CUDA
- PS:沒意外的話不需要設置環境變量,安裝的時候自動設置好了
安裝cuDnn
cuDnn也請嚴格按照tf官網上的要求下載7.0版本的,不要下載7.X的,下載地址cuDnn
然后解壓縮得到3個文件夾,將這3個文件夾里面的文件復制到CUDA安裝路徑下相應的文件夾里面即可。CUDA默認安裝路徑為:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0,具體來說:
- 復制 \cuda\bin\cudnn64_7.dll 到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin.
- 復制 \cuda\ include\cudnn.h 到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include.
- 復制 \cuda\lib\x64\cudnn.lib 到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64.
安裝tensorflow-gpu
相比於之前繁瑣的步驟,這里反而是最簡單了的。請安裝Anaconda,Anaconda實質上是一個Python包和版本管理工具。首先去官網下載Anaconda,然后安裝,注意在某一個選項中勾選將anaconda加入到PATH中去(雖然anaconda不建議這么做,但是方便啊!),其他的全部選擇默認選項即可,最多改一改安裝路徑,其他按照默認選項安裝。
1、 用anaconda創建一個虛擬環境
C:> conda create -n tensorflow python=3.6
2、
在 Anaconda 中,您可以使用 conda 來創建一個虛擬環境。但是,在 Anaconda 內部,我們建議使用 pip install 命令來安裝 TensorFlow,而不要使用 conda install 命令。
根據tf官方文件的建議,我們使用pip指令安裝,但是同時,我們不要執行tf官方文檔中的安裝指令,因為那樣安裝太慢了,我們這里用豆瓣鏡像去安裝最新版本的tensorflow,瞬間就能安裝好
(tensorflow)C:> pip install --index-url https://pypi.douban.com/simple tensorflow-gpu
3、 測試
這里使用PyCharm這個IDE來進行測試。首先創建一個空的Python工程,然后在setting中設置Python解釋器為Python3.5的那個,然后創建一個空的Python文件,文件編入如下代碼:
import tensorflow as tf
hello = tf.constant("Hello!TensorFlow")
sess = tf.Session()
print(sess.run(hello))
如果輸出如下的話,就是成功安裝了tensorflow了:
結語
至此就成功安裝完畢啦,真的是坑好多。。。希望可以幫到你,如果出現其他意外,歡迎來信討論解決
原文鏈接:https://antdlx.com/win10_tf19/