Win7 中安裝Theano及配置CUDA以搭建GPU加速環境
1) 安裝TDM-GCC (64位)
2)安裝Anaconda (64位)
3)安裝Theano
4)安裝CUDA (64位)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.安裝TDM-GCC
現在的Thenao庫需要編譯C程式碼,因此我們需要安裝GCC編譯器。在http://tdm-gcc.tdragon.net/中下載64位的TDM-GCC 進行安裝即可。安裝完後,在系統環境變數中新增環境變數:PATH=C:\TDM-GCC-64\bin [紅色部分為預設安裝路徑]
設定完後,在cmd.exe中通過命令 gcc –v 驗證是否安裝成功.
在官網https://www.continuum.io/downloads#_windows 或https://repo.continuum.io/archive/中下載相應版本的anaconda安裝包.我電腦是64位的,故下載的64位的安裝包Anaconda2-2.4.0-Windows-x86.exe,直接安裝即可.
安裝好Anaconda後,在cmd.exe(命令提示符)中輸入python命令檢視安裝結果
如果輸入python命令,可能是環境變數沒有設定,可通過命令echo %PATH% 檢視是否有關於Anaconda的環境變數,如果沒有,在系統變數PATH中新增:
E:\Installsoftware\Anaconda [anaconda的安裝目錄,根據實際情況更改]
E:\Installsoftware\Anaconda\Scripts
兩種方法:
1)直接在cmd.exe 中輸入命令:pip install theano,安裝成功後會在 E:\Installsoftware\Anaconda\Lib\site-packages (紅色部分為Anaconda的安裝目錄)中出現於theano相關的兩個目錄。
2) 在
安裝Theano後,新建系統環境變數:
PYTHONPATH : E:\Installsoftware\Anaconda\Lib\site-packages\theano
然後在 C:\Users\**\ 目錄(**指使用者名稱)下新建.theanorc.txt檔案(注意檔名最前面有”.”),在檔案中配置如下:
[blas] ldflags= [gcc] cxxflags = -IC:\TDM-GCC-64 |
至此,theano已經安裝成功。然而此時的深度學習相關的演算法,只能在CPU上執行。如若想提高執行效率,可以通過搭建GPU加速環境來實現。為此我們需要安裝CUDA。
4.安裝CUDA
在官網https://developer.nvidia.com/cuda-toolkit-archive中下載相應版本,但是所下載的版本位數需與電腦位數匹配,否則安裝不上CUDA.安裝CUDA後,會自動生成與CUDA相關的環境變數(可以在cmd.exe中通過命令echo %PATH%檢視),然後通過nvcc –V
命令(注意V大寫)檢視安裝詳情。
NVCC的編譯器可以是VS2008,VS2010,VS2013,VCForPython等。如果沒有安裝NVCC相應的編譯器,推薦安裝VCForPython(安裝速度快)。最後在 .theanorc.txt 中增添配置資訊:
[nvcc] fastmath = True flags=-LE:\Installsoftware\Anaconda\libs compiler_bindir=E:\Installsoftware\VS2010\VC\bin flags = -arch=sm_12 base_compiledir=path_to_a_directory_without_such_characters [global] openmp = False floatX = float32 device = gpu0 allow_input_downcast=True |
紅色部分第一行:表示Anaconda安裝目錄下的Libs目錄
紅色部分第二行:表示nvcc的編譯器是VS2010,由於我電腦中安裝有VCForPython ,因此也可以將其更換成C:\Program Files (x86)\Common Files\Microsoft\Visual C++ forPython\9.0\VC (VCForPython的預設安裝目錄),
紅色部分第三行:這一行我也不懂什麼意思,在其他資料中看到基本是將-arch設定為-arch=sm_30,但是我這樣設定在import theano時會報錯:Invalid device function. 因此更改為了sm_12,可以解決這個問題。
至此GPU加速環境搭建完成,輸入import theano命令後,會發現多了一行顯示卡資訊,表明安裝成功:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
注意事項:
1) 版本的一致性:Windows版本與CUDA的一致性,以及CUDA與Anconda,TDM-GCC之間的一致性。
2) GCC編譯器問題:
早期的Anaconda版本會自帶MinGW,安裝後在Anconda安裝目錄下會有一個MinGW目錄,因此我們可以不必安裝TDM-GCC,直接設定MinGW的環境變數,然後在.theanorc.txt中的[gcc]選項中將flags設定為MinGW的路徑即可;新版本的Anaconda版本沒有自帶MinGW,我們可以在安裝Anconda後,在cmd.exe中輸入:conda install mingw libpython 來安裝MinGW,這樣也不必安裝TDM-GCC。
MinGW的環境變數PATH配置如下:
E:\Installsoftware\Anaconda\MinGW\bin
E:\Installsoftware\Anaconda\MinGW\x86_64-w64-mingw32\lib [紅色部分為Anaconda的安裝路徑]