一.軟體與環境
(1)安裝日期2016/12/23;
(2)原料VS2013,cuda-8.0(最好下載cuda7.5#,目前theano-0.8.2 對cuda-8支援不是很好),Anaconda3-4.2.0(64位元);
(3)環境為win10.
二.安裝步驟
(1)安裝VS2013。這個沒什麼好說的,下載64位元版本後就是一路下一步、確定就行,記住安裝位置就可以了,我這裡的安裝目錄是D:\software\VS2013:
#
## 接著右鍵我的電腦-》屬性-》進階系統設定-」環境變數 ,之後編輯系統變數Path,加入兩個路徑D:\software\VS2013\VC\bin# #和D:\software\VS2013\Common7\IDE,以分號隔開,如圖:
#點選確定即可。
(2)
安裝cuda。這個也沒什麼好說的,到官網上下載cuda,並一路下一步+確定就好了,注意如果安裝過程中win10提示阻止某項操作,一定要選擇允許本次操作或允許程式所有操作,否則##cuda就會安裝失敗。 Cuda官網網址為http://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/ #axzz46v2MC6l8
,下載位址為
https://developer.nvidia.com/cuda-downloads##如圖:
(注意:這是cuda-8版本,對目前版本的theano#支援不是很好,不過不影響使用,最好還是下載cuda7.5,我這裡懶得再重裝一遍,所以就用的cuda-8)
還有一定要記住###cuda的安裝路徑,我的路徑就是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0#,如圖:
(3)右鍵我的電腦-》屬性-》進階系統設定-》環境變量,可以看到系統變數中增加了兩個變數# CUDA_PATH和CUDA_PATH_V8_0,如圖:
#
之後編輯系統變數Path,加入兩個路徑%CUDA_PATH%\lib\x64和#%CUDA_PATH%\bin,要用分號隔開,如圖:
點選確定。
開啟命令列,輸入nvcc -V,如果出現下圖則安裝成功:
並可至目錄
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\1_Utilities\deviceQuery下用VS2013開啟並執行測試範例deviceQuery_vs2013.vcxproj文件,如圖:(注意#C: \ProgramData為隱藏資料夾,需要點選C#-」查看- 》選項-」查看,選取顯示隱藏的檔案、資料夾和驅動器,點選確定。
圖表為顯示C:\ProgramData資料夾的檢視選項
#
圖為deviceQuery_vs2013.vcxproj##圖片為
####
##
##圖為在VS2013中的執行結果#最後一行為Result = Pass則表示安裝設定成功。
(4)
安裝Anaconda3-4.2.0,這很簡單,就是一路確定即可,記得安裝位置,如我就是安裝在D:\software\Anaconda3,如圖: 接著右鍵我的電腦-》屬性-」進階系統設定-》環境變量,在使用者變數中加入
PATH,並加入路徑
##D:\software\Anaconda3 ,D:\software\Anaconda3\Scripts#和D:\software\Anaconda3\Library\bin
# ,點選確定。如圖:#######之後進入命令列輸入######python######,如果出現如圖訊息,則安裝成功:######### #########關閉命令列。 ###### ###
(5)安裝mingw和libpython。開啟命令列後輸入conda install mingw libpython即可,目前libpython已經支援#python3.5了,就不用再設定python3.4的環境了。注意如果安裝mingw速度很慢,則可ctl+c並退出命令列,再進入命令列修改Anaconda的鏡像,這裡推薦清華的鏡像,方法為在命令列中輸入:
conda config --add channels https://mirrors. tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
,之後再conda install mingw libpython即可。
之後到Anaconda3的安裝目錄中可以看到MinGW的資料夾,如圖:
(註:網路上說需要把MinGW的路徑加入環境變量,其實不用,等一下再 theano的設定檔中標出MinGW的位置即可)
(6)安裝theano。首先開啟命令列,輸入conda install scipy,之後再輸入pip install theano即可。 (為什麼要輸入conda install scipy我也不明白,但網路上建議)。之後在個人主資料夾下新建一個「.theanorc.txt」的文件。個人主資料夾就是打開命令列後所顯示的資料夾路徑,例如我的就是##C:\Users\15540:
注意theano的設定檔為.theanorc.txt#,注意前面那個點要有,並且檔案名稱為.theanorc,.txt是檔案類型,不要弄錯。開啟.theanorc.txt寫入以下訊息:
#[global]openmp=False#device = gpuoptimizer_including=cudnnfloatX = float32allow_input_downcast=True#[lib]#cnmem = 0.8[blas]ldflags=
[gcc]
cxxflags=-ID:\software\Anaconda3\MinGW
[nvcc]
flags = -LD:\software\Anaconda3\libs
compiler_bindir = D:\software\VS2013\VC\bin
fastmath = True
注意需要把cxxflags=-ID:\software\Anaconda3 \MinGW換成你的Anaconda3中#MinGW的位置,##flags = -LD: \software\Anaconda3\libs換到你的Anaconda3中libs的位置,compiler_bindir = D:\software\VS2013\VC\bin換到你的VS2013中VC\bin##VC\bin 的位置;還有cnmem = 0.8這個網上說設為1,但是貌似有點問題,建議設為小於1的值,如我這裡設為0.8 ,這就可以避免後面顯示
CNMEM is disabled
了。 (7)更新cudnn文件,到網路搜尋cudnn下載下來(到官網註冊一下就可以下載了,官網網址為https://developer.nvidia.com/cudnn)。將下載來的檔案解壓縮,解壓縮出cuda資料夾,內含3個資料夾,如圖。將設三個資料夾替換掉系統裡面的對應文件,進行覆蓋替換即可,例如我的文件目錄為C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0。覆掉後面導入theano時會就不會出現
CuDNN not available
提示了。 ### ######### ####(8)測試theano。打開命令列,輸入python,在輸入import theano,如果出現UnicodeDecodeError: 'utf-8 ' codec can't decode byte 0xd5 in position 11: invalid continuation byte這種編碼問題,這是因為掉用nvcc傳回的字串是使用的cwindows預設的預設編碼,直接找到theano#中對應的報錯文件,把源碼出錯的地方改為*.decode("GBK")就可以。例如我的是在theano下的init.py出現的編碼問題,則修改為:
(若有上述錯誤,關閉指令列修改錯誤,重輸一次指令即可)出現下列畫面則表示成功。
(註:可以看到仍有warning,但不影響使用,出現warning 的原因主要是cuda-8對目前版本的theano支持不太好導致,不過相信以後更新的theano會解決這個問題,如果實在接受不了這個warning就安裝cuda7.5 ,步驟一樣)
三.其他問題
(1)不要在環境變數上加PYTHONPATH變數,否則容易在import theano後出現configparser找不到或沒有這個元件這個問題(在我這裡是這樣的);
(2)建議在安裝完cuda後重新啟動電腦;
(3)如果在命令列輸入指令後出現什麼問題,建議修改完問題後重啟命令列;
#(4)如果還有其他問題,試試重啟電腦後在import theano,如果還有問題,一般就是設定檔.theanorc.txt的問題(我這個設定方式不一定百分之百的適合你),以下列出一些我參考的
#
以上是圖文介紹Win10環境下安裝theano並配置GPU步驟的詳細內容。更多資訊請關注PHP中文網其他相關文章!