(原+轉)win7上編譯caffe支持python及matlab


轉載請注明出處:

http://www.cnblogs.com/darkknightzh/p/7126126.html

參考網址:

https://github.com/happynear/caffe-windows

使用的是參考網址中的caffe。由於電腦沒有獨顯,因而使用cpu。首先下載該源碼,而后順序如下:

1. 將caffe-windows-ms\windowsCommonSettings.props.example改名為CommonSettings.props

2. 由於只編譯cpu版本,因而將

<CpuOnlyBuild>false</CpuOnlyBuild>
<UseCuDNN>true</UseCuDNN>
<UseNCCL>true</UseNCCL>

改為

<CpuOnlyBuild>true</CpuOnlyBuild>
<UseCuDNN>false</UseCuDNN>
<UseNCCL>false</UseNCCL>

3. 將

<MXNetSupport>true</MXNetSupport>

改為

<MXNetSupport>false</MXNetSupport>

4. 由於需要python支持,因而修改python的路徑。使用的是anaconda2,因而將

<PythonDir>D:\Anaconda2\</PythonDir>

改為

<PythonDir>C:\ProgramData\Anaconda2\</PythonDir>

5. 打開Anaconda Prompt,輸入:

conda install --yes numpy scipy matplotlib scikit-image pip
pip install protobuf

6. 由於需要matlab支持,因而修改matlab的路徑(網址中已經將MatlabSupport設置為true了)。將

<MatlabDir>C:\Program Files\MATLAB\R2016a</MatlabDir>

改為

<MatlabDir>C:\Program Files\MATLAB\R2014b</MatlabDir>

7. 使用vs2015打開caffe-windows-ms\windowsCaffe.sln

8. 編譯工程(可以只編譯需要的。我這邊。。。額。。。直接編譯了整個工程)。由於只編譯cpu版本,我這邊編譯速度還好吧。據說編譯gpu版本,速度比較慢。。。

9. 對python支持的設置(下列方法二選一)。我這邊使用的是a,沒有測試b:

a 在環境變量中增加PythonPath,路徑為<caffe_root>\Build\x64\Release\pycaffe

b 將<caffe_root>\Build\x64\Release\pycaffe\caffe拷貝到<python_root>\lib\site-packages

10. 對matlab的支持(下面兩步都需要):

a add the generated matcaffe folder to Matlab search path
b add <caffe_root>\Build\x64\Release to your system path

此處說明一下:

b的好解釋,就是將<caffe_root>\Build\x64\Release增加到Path的環境變量中。更改環境變量后,最好重啟一下電腦。

對於a,說是將生成的matcaffe文件夾增加到matlab的search path中,實際上,我這邊該工程生成的caffe_.mexw64路徑為D:\caffe-windows-ms\matlab\+caffe\private,我最開始以為將這個文件夾增加到matlab的search path中,但是matlab總會提示“無法將方法文件夾(以’@’開頭的文件夾)或專用文件夾添加到matlab搜索路徑中”,如下圖所示。實際上,添加的路徑應該是D:\caffe-windows-ms\matlab。這樣就不會出現下面的錯誤了。

11. 之后就是測試程序了。

caffe.reset_all();
caffe.set_mode_cpu();
gpu_id = 0;  % we will use the first gpu in this demo
% caffe.set_device(gpu_id);
net = caffe.Net('deploy.prototxt', 'model.caffemodel', 'test');

我這邊就不會提示有錯誤了。

如果caffe設置的有問題,matlab中會提示:未定義變量”caffe”或類“caffe.reset_all”,如下圖所示。在搜索一下吧。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM