caffe2 01 caffe2 win10 vs2017編譯(預設CPU版本)
01 基本環境
win10
vs2017
git
python3.5.3
cmake-gui(3.7.2)
caffe2的依賴庫都已經採用submodule形式整合到程式碼中了。
caffe2編譯重點參考原始碼下面的 scripts
目錄下面的指令碼。windows下面參考build_host_protoc.bat
和build_windows.bat
兩個檔案內容。
02 原始碼下載
:: 下載原始碼目錄
cd D:\git\DeepLearning
:: 下載原始碼
git clone --recursive https://github.com/caffe2/caffe2.git
:: 如果獲取程式碼中途有失敗的,可以使用如下語句更新
cd caffe2
git submodule update --init --recursive
:: 檢視相對穩定版本
git tag
:: 當前tag有0.6 0.7,這裡使用當前下載版本編譯
03 編譯預設版本
03.01 編譯protoc
執行scripts\build_host_protoc.bat
可以直接編譯通過
scripts\build_host_protoc.bat
03.02 編譯caff2
執行scripts\build_windows.bat
,可以在caffe2\build目錄下生成caffe2.sln檔案,有編譯錯誤,
主要是因為我這裡使用了python3,程式碼預設使用的是python2。用vs2017開啟程式碼,替換下面程式碼。
PyString_Check==>PyUnicode_Check
PyString_AsString==>PyUnicode_AsUTF8
替換後,編譯Release版,可以直接編譯通過。
編譯Debug版本時,windows_python_copy_lib
工程會有一個編譯後copy命令錯誤。把出錯的Release修改為Debug,再編譯,就OK了。
03.03 執行INSTALL
編譯好Release版本後,右鍵INSTALL工程,生成INSTALL。預設安裝在 C:\Program Files\Caffe2
。預設的install還不完善。有很多垃圾內容。
04 勾選 BUILD_TEST
使用cmake-gui開啟D:/git/DeepLearning/caffe2
目錄,輸出目錄為D:/git/DeepLearning/caffe2/build
如果勾選 BUILD_TEST,編譯D:\git\DeepLearning\caffe2\build\Caffe2.sln
時,
會出現2類錯誤:
1 UNUSED_VARIABLE引起的錯誤
2 c2398類錯誤
解決方法:
對於 UNUSED_VARIABLE 類錯誤,刪除 UNUSED_VARIABLE
即可。
對於c2398類錯誤,只要在數字常量後面加上小寫的f
即可。