Win10環境下安裝theano並配置GPU詳細教程


一.軟件和環境

(1)安裝日期2016/12/23

(2)原材料VS2013cuda-8.0(最好下載cuda7.5,目前theano-0.8.2cuda-8支持不是很好),Anaconda3-4.2.064位);

(3)環境為win10.

 

二.安裝步驟

(1)安裝VS2013。這個沒什么可說的,下載64位版本后就是一路下一步、確定就行,記住安裝位置就可以了,我這里的安裝目錄是D:\software\VS2013

 

接着右鍵我的電腦-》屬性-》高級系統設置-》環境變量,之后編輯系統變量Path,加入兩個路徑D:\software\VS2013\VC\binD:\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_PATHCUDA_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\Anaconda3D:\software\Anaconda3\ScriptsD:\software\Anaconda3\Library\bin,點擊確定。如圖:

 

 

之后進入命令行輸入python,如果出現如圖信息,則安裝成功:

 

關閉命令行。

 

(5)安裝mingwlibpython。打開命令行后輸入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 = gpu

optimizer_including=cudnn

floatX = float32

allow_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換成你的Anaconda3MinGW的位置,flags = -LD:\software\Anaconda3\libs換為你的Anaconda3libs的位置,compiler_bindir = D:\software\VS2013\VC\bin換為你的VS2013VC\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的問題(我這個配置方式不一定百分之百的適合你),下面列出一些我參考的文章:

http://blog.csdn.net/u011821462/article/details/50145221

http://blog.csdn.net/stormragewang/article/details/51261465

http://blog.csdn.net/voidfaceless/article/details/53711550

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM