1. 程式人生 > >caffe2 01 caffe2 win10 vs2017編譯(預設CPU版本)

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.batbuild_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即可。
這裡寫圖片描述