windows下編譯caffe
windows在編譯caffe有兩種途徑,
第一直接從github上clone windows分支的原始碼,根據提供的cmakeLIsts開始編譯,這種方法自由選擇編譯器、依賴的庫檔案版本等,可能自由度更大,但是也有比較多的問題;
https://github.com/BVLC/caffe/tree/windows
第二是從整理好的vs工程開始編譯,比如Microsoft和happynear整理的vs工程。
https://github.com/Microsoft/caffe
https://github.com/happynear/caffe-windows
1.首先從原始碼編譯開始:
參考部落格:http://zhangxiaoya.github.io/2017/02/04/Caffe-windows-vs2015/
1.1bian環境
windows10
vs2015
cuda8.0
cudnn v5.1
python 2.7
cmake 3.8
cmake和python一定要新增到PATH裡面。
1.2.clone caffe 的windows分支:https://github.com/BVLC/caffe/tree/windows。
1.3.python的一些依賴庫安裝的時候根據提示自行安裝,我的環境numpy,six等之前已經安裝配置完成。
1.4.編譯的過程中需要下載依賴項,這裡事先下載好,https://github.com/willyd/caffe-builder/releases/download/v1.1.0/libraries_v140_x64_py27_1.1.0.tar.bz2;下載完成後放在C:\Users\USERNAME\.caffe\dependencies\download
1.5.進入scripts資料夾,把build_win.cmd的備份一下,複製一份,然後用編輯器開啟,修改一些引數:
比如74行的,if NOT DEFINED WITH_NINJA set WITH_NINJA=0,設定為0,不用ninja編譯器
76行,if NOT DEFINED CPU_ONLY set CPU_ONLY=0,設定為0,用GPU
83行,if NOT DEFINED USE_NCCL set USE_NCCL=0,設定為0,多個GPU才設定NCCL為非零
91行,if NOT DEFINED BUILD_MATLAB set BUILD_MATLAB=1,設定為1,編譯matlab的介面
1.6.在未刪除的檔案157-172段中新增
-DCUDNN_ROOT=C:/Projects/caffe/cudnn-8.0-windows10-x64-v5.1/cuda ^
設定cudnn的路徑,下載的cudnn版本5.1比較合適,版本6可能會導致編譯錯誤。
1.7.然後進入script目錄下,執行./build_win.cmd,開始編譯。
1.8.編譯完成後生成caffe.sln,用vs2015開啟,然後編譯。
接下來編譯caffe的動態連結庫:
caffe.binde編譯出來的dll就是可以直接使用的動態連結庫。
當然也可以自己暴露介面,然後編譯
2.從整理好的vs工程開始編譯,這裡我用的是haapynear的project。
如果從Microsoft的工程,參考blog:http://blog.csdn.net/xierhacker/article/details/51834563
2.1環境
windows10
vs2015
cuda8.0
cudnn v5.1
python 2.7
cmake 3.8
cmake和python一定要新增到PATH裡面。
2.2 複製CommonSettings.props.example並重命名為CommonSettings.props,修改配置,比如cuda的版本,cudnn的位置,GPU還是CPU,python和matlab介面,以及python和matlab的安裝路徑。
2.3 設定完成後,用匹配的vs版本開啟Caffe.sln解決方案,考試編譯,這時候在caffe_master目錄下的build資料夾下會生成相應的編譯檔案,按照之前的部落格配置python和matlab介面就可以使用了。
要想使用c++ 的介面還需要編譯caffe 的動態連結庫。
還有一篇參考部落格:http://blog.csdn.net/akashaicrecorder/article/details/71016942