標籤:
經過朋友指導,終於成功在windows7上成功編譯了caffe,這裡將編譯過程記錄
- 安裝檔案準備
- 安裝visual studio 2013
- 安裝cuda75
- 編譯caffe
- 1 解壓縮下載的caffe-windows檔案
- 2 進入到windows檔案夾
- 3 複製設定檔並重新命名
- 4 修改設定檔修改工程的屬性檔案
- 5 開啟名稱為Caffe的解決方案
- 6 編譯libcaffe項目
- 7 編譯caffe項目
- 8 編譯其他項目
- 運行第一個caffe測試程式
- 配置cuDNN
- 配置python
- 配置matlab
1. 安裝檔案準備
visual studio 2013安裝包下載
- 進入visual studio下載頁
- 選擇Visual Studio 2013–>Ultimate 2013版–>簡體中文iso檔案–>下載
CUDA7.5
- 為nvidia官網的cuda-toolkit-archive
…
windows版本caffe
- 為GitHub的caffe windows版本
- 一定要注意,brand那裡選擇windows
接下來,依次:安裝visual studio 2013->安裝cuda 7.5->編譯caffe
2.安裝visual studio 2013
具體安裝方法見: 安裝visual studio 2013
3.安裝cuda7.5
安裝方法與theano安裝(二)windows安裝visual studio 2010及cuda中的cuda安裝方法一致,只不過是版本號碼不同而已
這裡注意一個問題,cuda6.5之前的cuda版本,內建的D:\Program Files\NVIDIA Corporation\CUDA samples\v7.5\bin\win64\Debug中包含了可啟動並執行exe程式,可用來測試,但cuda7.5卻沒有,需要自己編譯,具體編譯cuda方法可以參考相關部落格
4.編譯caffe4.1 解壓縮下載的caffe-windows檔案
這裡假設caffe-windows被解壓到了如下的檔案夾中
4.2 進入到windows檔案夾
4.3 複製設定檔,並重新命名
將該檔案夾(即.\windows)下的CommonSettings.props.example檔案複製一份兒,並將複製的檔案命名為CommonSettings.props
-
4.4 修改設定檔(修改工程的屬性檔案)
- caffe-windows內建的設定檔CommonSettings.props.example中所有配置參數都是預設值,例如:裡面CUDA和cuDNN庫是預設被要求用到的,cuDNN和CPU_ONLY兩個只能二選一,Python和matlab是被預設false的,也就是不用,可以通過修改這個屬性檔案來個人化,主要需要修改下面的程式碼片段(下面程式碼片段來自CommonSettings.props.example,所有參數取值都為預設值)
<PropertyGroup Label="UserMacros"> <BuildDir>$(SolutionDir)..\Build</BuildDir> <!--NOTE: CpuOnlyBuild and UseCuDNN flags can‘t be set at the same time.--> <CpuOnlyBuild>false</CpuOnlyBuild> <UseCuDNN>true</UseCuDNN> <CudaVersion>7.5</CudaVersion> <!-- NOTE: If Python support is enabled, PythonDir (below) needs to be set to the root of your Python installation. If your Python installation does not contain debug libraries, debug build will not work. --> <PythonSupport>false</PythonSupport> <!-- NOTE: If Matlab support is enabled, MatlabDir (below) needs to be set to the root of your Matlab installation. --> <MatlabSupport>false</MatlabSupport> <CudaDependencies></CudaDependencies> <!-- Set CUDA architecture suitable for your GPU. Setting proper architecture is important to mimize your run and compile time. --> <CudaArchitecture>compute_35,sm_35;compute_52,sm_52</CudaArchitecture> <!-- CuDNN 3 and 4 are supported --> <CuDnnPath></CuDnnPath> <ScriptsDir>$(SolutionDir)\scripts</ScriptsDir> </PropertyGroup>
- 下面,分別對上述代碼中的各項參數進行說明:
(1)CpuOnlyBuild:是否使用CPU,預設值為False,即使用GPU編譯;如果本機沒有配置好CUDA,那麼,該值應該賦值為True;
(2)UseCuDNN:是否使用CuDNN,預設值為True;如果本機沒有配置好CUDA,那麼,該值應該賦值為False;注意:CpuOnlyBuild和CuDNN不能同時為True
(3)CudaVersion:CUDA的版本
(4)PythonSupport:是否支援python,預設值為False;
(5)MatlabSupport:是否支援matlab,預設值為False;
4.5 開啟名稱為Caffe的解決方案
利用VS2013開啟名稱為Caffe的解決方案
4.6 編譯libcaffe項目
需要首先編譯libcaffe項目(其他的項目依賴於libcaffe項目),具體地:右鍵libcaffe,選擇產生,開始編譯libcaffe
經過一段時間等待後,編譯成功
這裡有兩個需要注意的地方:
(1)編譯過程中,可能會出現錯誤,錯誤的原因是編譯過程中出現了警告,而導致編譯無法進行,此時,需要進行如下修改:
即:設定項目屬性,不要將警告視為錯誤
右鍵->項目屬性->C/C++->常規->將警告視為錯誤 設為否
(2)caffe編譯過程中,需要一些依賴包,在有網路的情況下,當編譯第一個項目libcaffe時,程式會自動從網路下載這些依賴包,下載到與caffe-windows檔案夾同級的NugetPackages檔案夾中,所示即為程式自動下載的依賴包
但在沒有網路情況下,需要事先將這些依賴包下載好,並將它們的路徑在vs的管理NuGet程式包中進行設定:工具->選項->NuGet Package Manager->程式包源->利用右側的加號添加本地的package
手動添加這些package地址後,還需要手動對這些NuGet Package進行安裝
4.7 編譯caffe項目
同樣,在caffe項目處右鍵產生
4.8 編譯其他項目
編譯完libcaffe和caffe兩個項目後,再依次編譯其他項目,同樣的方法
5.運行第一個caffe測試程式
為了測試編譯好的caffe能否正常使用,需要進行測試,主要利用mnist資料集進行分類問題的測試
(1)下載測試資料集
(2)修改設定檔
進入檔案夾D:\software\caffe-vs\caffe-windows\examples\mnist
,即examples路徑下的mnist檔案夾
① 開啟lenet_solver.prototxt
設定網路設定檔路徑,這裡使用了絕對路徑,相對路徑還沒有嘗試
② 開啟lenet_train_test.prototxt
(3)運行caffe程式,具體地
① 開啟cmd命令列,cd到caffe-windows的.\Build\x64\Debug
路徑下,在該路徑下,可以直接執行caffe.exe
D:\software\caffe-vs\caffe-windows\Build\x64\Debug
或者,為了方便,可以將caffe的路徑添加到環境變數Path中,這樣,cmd就可以直接識別caffe命令了
② 運行caffe
caffe train -solver lenet_solver.prototxt
注意,因為上一步已經將D:\software\caffe-vs\caffe-windows\Build\x64\Debug
路徑添加到環境變數PATH中了,所以,這裡可以直接使用caffe.exe
下面兩步主要配置cuDnn、python和matlab,具體配置時,應該在4.5之前進行
6. 配置cuDNN
7. 配置python
之前已經安裝好了python了,具體方法參考 theano安裝(一)windows配置安裝theano環境(非GPU版)
註:是藉助於AnaConda安裝的
利用pip工具安裝protobuf:pip install protobuf
在檔案中做兩處更改:
(1)<PythonSupport>true</PythonSupport>
(2)PythonDir更改為python的安裝目錄,這裡的python是利用Anaconda安裝的,安裝路徑位於D:\File Program\Anaconda\
,該目錄下含有python.exe
<PropertyGroup Condition="‘$(PythonSupport)‘==‘true‘"> <PythonDir>D:\File Program\Anaconda\</PythonDir> <LibraryPath>$(PythonDir)\libs;$(LibraryPath)</LibraryPath> <IncludePath>$(PythonDir)\include;$(IncludePath)</IncludePath> </PropertyGroup>
- 添加環境變數
在環境變數的使用者變數中,建立使用者變數,變數名“PythonPath”,變數值“D:\software\caffe-vs\caffe-windows\Build\x64\Release\pycaffe”
或者將檔案夾\Build\x64\Release\pycaffe\caffe 複製到\lib\site-packages.
8.配置matlab
這裡主要涉及修改CommonSettings.props檔案中兩個地方
- 修改CommonSettings.props檔案中的,令
<MatlabSupport>true</MatlabSupport>
- 修改CommonSettings.props檔案中的參數,令其為原生matlab安裝目錄
<PropertyGroup Condition="‘$(MatlabSupport)‘==‘true‘"> <MatlabDir>D:\File Program\Matlab\</MatlabDir> <LibraryPath>$(MatlabDir)\extern\lib\win64\microsoft;$(LibraryPath)</LibraryPath> <IncludePath>$(MatlabDir)\extern\include;$(IncludePath)</IncludePath> </PropertyGroup>
After you have built solution with Matlab support, in order to use it you have to:
add the generated matcaffe folder to Matlab search path, andadd <caffe_root>\Build\x64\Release to your system path.
註:發現一篇寫的比較好的部落格
http://m.blog.csdn.net/article/details?id=50819464
windows7+visual studio 2013+CUDA7.5 編譯caffe