【caffe-windows】 caffe-master 之 matlab接口配置


平台環境: win10 64位 caffe-master  vs2013 Matlab2016a

第一步:

打開\caffe-master\windows下的CommonSettings.props文件,

更改MatlabSupport,改成true(即支持Matlab接口)。

 

 如圖:

 

 

 

第二步:

更改matlab的路徑,

 

如圖:

 

 

 

第三步:

在includepath中增加一個路徑,若沒有的話,在編譯時候會出現如下錯誤:gpu/mxGPUArray.h" Not Found 

復制這段code:

 

<IncludePath>$(MatlabDir)\extern\include;$(MatlabDir)\toolbox\distcomp\gpu\extern\include;$(IncludePath)</IncludePath>

 

如圖:

 

 

 

 

第四步: 

打開caffe-master\windows 下的 Caffe.sln ,找到matcaffe,選擇released(不要用debug),然后右鍵matcaffe,點擊生成。

PS:不知道什么原因出錯

錯誤    1   error : NuGet Error:Unable to find version'2.4.10' of package 'OpenCV.overlay-x64_v120_Release'. D:\NugetPackages\OpenCV.2.4.10\build\native\OpenCV.targets  772 5  libcaffe

選擇重新生成,可以解決。當然,沒出錯的同學忽略。

 

 

生成完畢后在caffe-master\Build\x64\Release\matcaffe\+caffe\private下會有文件 :caffe_.mexw64

 

 

 

第五步:

打開matlab,添加路徑

 

如圖:

 

 

第六步:

添加系統環境變量,把..\caffe-master\Build\x64\Release  添加到系統環境變量中,如圖:

 

否者在運行 demo.m時候出會出現如下錯誤: 

Invalid MEX-file'D:\caffe-master\Build\x64\Release\matcaffe\+caffe\private\caffe_.mexw64': 找不到指定的模塊。

 出錯 caffe.set_mode_cpu (line 5)

caffe_('set_mode_cpu');

 出錯 classification_demo (line 71)

 caffe.set_mode_cpu();

 

 

第七步:

將caffe-master\Build\x64\Debug中所有dll文件全復制到caffe-master\matlab\+caffe\private

 

如圖:

 

 

第八步:

下載model文件(bvlc_reference_caffenet.caffemodel)放到caffe-master\models\bvlc_reference_caffenet文件夾下

下載地址  鏈接:http://pan.baidu.com/s/1geUv01l密碼:yp9p(出處:http://blog.csdn.net/zb1165048017/article/details/51702686

第九步:

下載標簽文件:synset_words.txt ,放在與classification_demo.m同一個文件夾下

鏈接:http://pan.baidu.com/s/1c24ty6W密碼:3z7y(出處:http://blog.csdn.net/zb1165048017/article/details/51702686

 

第十步:

打開classification_demo.m,運行。如果出現

未定義函數或變量 'caffe_'。 

出錯 caffe.set_mode_cpu (line 5)

caffe_('set_mode_cpu'); 

出錯 classification_demo (line 71)

 caffe.set_mode_cpu();

 

 

請修改 第二條語句  

 addpath('../../Build/x64/Release/matcaffe');

 

第十一步:

在運行一個測試文件test_mat.m, 文件出處(出處:http://blog.csdn.net/zb1165048017/article/details/51702686

下載鏈接:http://pan.baidu.com/s/1nvtwoBJ 密碼:t71u

 存放在與classification_demo.m同一個文件夾下

 

test_mat.m源碼如下:

  1.  %參考http://www.aichengxu.com/view/2422137  
  2. clear  
  3. clc  
  4.   
  5. im = imread('../../examples/images/cat.jpg');%讀取圖片  
  6. figure;imshow(im);%顯示圖片  
  7. [scores, maxlabel] = classification_demo(im, 0);%獲取得分第二個參數0為CPU,1為GPU  
  8. maxlabel %查看最大標簽是誰  
  9. figure;plot(scores);%畫出得分情況  
  10. axis([0, 999, -0.1, 0.5]);%坐標軸范圍  
  11. grid on %有網格  
  12.   
  13. fid = fopen('synset_words.txt', 'r');  
  14. i=0;  
  15. while ~feof(fid)  
  16.     i=i+1;  
  17.     lin = fgetl(fid);  
  18.     lin = strtrim(lin);  
  19.     if(i==maxlabel)  
  20.         fprintf('the label of %d is %s\n',i,lin)  
  21.         break  
  22.     end  

23. end  

運行結果如圖:

 

 

 


免責聲明!

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



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