1. 程式人生 > >windows下編譯caffe

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