Deep Learning---win10 搭建caffe開發環境(GPU)
按照Microsoft官方https://github.com/Microsoft/caffe安裝教程。不過依賴工具庫版本有點不一樣,比如CUDA。建議按照官方的安裝版本來,最簡單的就是隻跑CPU安裝。
1 Download
下載選擇截圖:
下載軟體列表彙總:
安裝完CUDA後,會自動新增CUDA環境變數:
執行NVIDIA GeForce Experience程式遇到下面這個問題,可能是原來系統中已經有了該版本,可以根據安裝時間來解除安裝先安裝的那個版本。不過,後面再去執行NVIDIA GeForce Experience時還是會報這個錯誤,但是沒關係,不會影響caffe訓練。不過建議在安裝之前先解除安裝本機上的NVIDIA顯示卡驅動。
2 編譯
2.1 C++版本
- 下載caffe原始碼後(Microsoft github),進入caffe原始碼的windows資料夾
- 複製CommonSettings.props.example為CommonSettings.props
- 然後用VS2013 ULT版本開啟Caffe.sln(如果出現libcaffe和test_all 匯入失敗)
- 因為CommonSettings.props的配置預設是選擇CUDA7.5版本的,而我是8.0版本,則開啟該配置檔案,並修改為8.0。當然如果直接不需要GPU,那麼也在該配置檔案中修改CpuOnlyBuild欄位為true。然後再重新用VS開啟Caffe.sln
- 然後設定libcaffe為啟動專案(當然還可以設定編譯成Release版本Release x64 ,預設為Debug版本),並編譯
- 編譯可能會出現一些問題,我把我出現的問題記錄在後面了。
- 編譯完libcaffe後,然後將caffe專案設定為啟動專案,並編譯。
- 整個編譯完後,會在caffe/Build/x64/Debug/目錄下產生一些庫和caffe.exe檔案。
libcaffe專案編譯成功後,現在編譯caffe專案,設定caffe為啟動專案,然後編譯生成:
2.2 Python版本
修改CommonSettings.props檔案,將PythonSupport設定為true:
<PythonSupport >true</PythonSupport>
編譯完成後,python介面路徑需要手動配置。設定環境變數PythonPath指向 \Build\x64\Release\pycaffe
, 或者複製 \Build\x64\Release\pycaffe\caffe
到\lib\site-packages
. 這裡的python_root對應miniconda2.
2.3 Matlab版本
修改CommonSettings.props檔案,將MatlabSupport設定為true:
<MatlabSupport>true</MatlabSupport>
3 問題和解決
Q1: libcaffe test_all專案load失敗(CUDA版本導致)
A1: 修改CommonSettings.props檔案
修改CommonSettings.props檔案,如下圖修改為對應的CUDA版本:
Q2: error MSB4062: 未能從程式集……
error MSB4062: 未能從程式集E:\NugetPackages\OpenCV.2.4.10\build\native\\private\coapp.NuGetNativeMSBuildTasks.dll 載入任務“NuGetPackageOverlay”。未能載入檔案或程式。
A2: 刪除OpenCV2.4.10……
刪除OpenCV2.4.10後,重新編譯就成功了。好詭異。如果還是不行,將VS解決方案都清理乾淨,然後刪掉OpennCV2.4.10資料夾,再重新編譯。
Q3: Python版本之無法開啟包括檔案: “pyconfig.h”
無法開啟包括檔案: “pyconfig.h”: No such file or directory
A3:新增標頭檔案路徑
原因是缺少相關標頭檔案,在專案配置中將E:\Miniconda2\include新增進來:
Q4:LINK : fatal error LNK1104: 無法開啟檔案“python27.lib”
A4: 包含python27.lib路徑
Q5: Matlab編譯出錯
.\matlab\+caffe\private\caffe_.cpp(16): fatal error C1083:
無法開啟包括檔案: “gpu/mxGPUArray.h”: No such file or directory
A5 : Matlab編譯問題解決
修改matlab路徑,Matlab2012版本沒有該檔案(gpu/mxGPUArray.h
), 重新安裝Matlab2014,並在配置檔案中設定好路徑:
並將標頭檔案所在目錄新增到VS附加包含目錄中去,重新編譯,通過: