【深度學習】win10+Theano+GPU加速配置
阿新 • • 發佈:2019-02-19
最近在導師介紹下,自學臺灣大學Hungyi Lee於2015年錄製的Machine Learning and having it deep and structured課程,裡面完成作業要求使用theano, 因此必須配置一發python下的theano。
(GPU加速能有效加快程式碼的執行速度,可以說是磨刀不誤砍柴工。)
本機環境
【筆記本】:Thinkpad T470 Signature Edition
【CPU】:Intel i5-7200U
【記憶體】:8G
【顯示卡】:Intel HD 620 + NVIDIA GeForce 940MX
【作業系統】:windows10 Build 15063
【已有環境】:Python 2.7+Anaconda2-64bit(用於conda install以及依賴包numpy等);MS Visual Studio 2015(已含C++元件)
參考部落格
翻閱了很多部落格,精選了這三篇比較靠譜的,鑑於每臺機器的配置和環境都有差異,可以將這三篇對比著看~
遇到的問題
安裝時報錯
走了很多彎路,總結了必須要檢查的幾點,大家可以在上面部落格裡的具體步驟裡找對應的解決方案。
- 檢查點1:所有依賴包的安裝、”.theanorc.txt”的設定
- 檢查點2:CUDA Toolkit是否支援本機的NIVIDA顯示卡,以及本機顯示卡驅動的更新
- 檢查點3:VS 2015重新編譯CUDA samples,保證沒有錯誤
匯入theano包時報錯
- 上面的部落格裡都有提到一些常見的錯誤,也給出瞭解決方案,主要還是安裝沒有徹底完成,尤其是在配置CUDA時候要確保每一步順利。
nvcc fatal : Cannot find compiler 'cl.exe' in PATH
- 原因是沒有完全配置好.theanorc.txt檔案中VC的bin目錄,解決方法是加入下述文字
- [nvcc]
fastmath=True
flags =-LD:\ProgramData\Anaconda2\libs
compiler_bindir=D:\Program Files (x86)\Visual Studio\VC\bin
執行時報錯
用GPU進行浮點數運算時,提示資料型別無法轉換到float32,原因可能是在
.theanorc.txt
中指明瞭floatX = float32
版本相容問題
- “WARNING (theano.sandbox.cuda): The cuda backend is deprecated and will be removed in the next release (v0.10). Please switch to the gpuarray backend. ”