1. 程式人生 > >win7 上安裝caffe並配置matcaffe

win7 上安裝caffe並配置matcaffe

       近期由於用到caffe,所以嘗試安裝一個,教程參照happynear部落格,安裝部落格中的操作完成之後,配置matcaffe遇到一些問題,可能是自己運氣比較背,下面一一介紹我遇到的問題和解決方法。

       在安裝happynear提供的教程安裝完之後,配置matcaffe,首先需要將主目錄中的Makefile.config.example拷貝一份,並將其改名為Makefile.config,緊接著需要找到如下位置:


新增你matlab的安裝目錄,然後編譯matcaffe工程


緊接著可能會出現如下錯誤:

錯誤一:無法開啟libmx.lib


解決方法:匯入libmx.lib庫

libmx.lib庫位於MATLAB\bin\win64

匯入方法:工程右鍵屬性

找到C/C++選項,常規-》附加庫目錄,新增libmx.lib所在的目錄

                              連結器-》附加依賴項,新增libmx.lib

然後重新編譯工程..

錯誤二:無法開啟libmex.lib

解決方法:同上,libmex.lib所在目錄為MATLAB\extern\lib\win64\microsoft(64位系統)

錯誤三:找不到mex.h

解決方法:

               右鍵屬性-》C/C++-》常規-》附加包含目錄(mex.h在MATLAB\extern\include下)

錯誤四:error LINK2001:無法解析的外部符號mesetfild_730

                errorLINK 2001:無法解析外部符號mxSetCell_730


看這個錯誤一時無法下手,仔細一看發現錯誤來源是caffe_.obj, 這一看就是caffe_.cpp編譯之後的產物,跑到Caffe_.cpp裡面檢視你會發現這些函式的呼叫:

選中函式右鍵轉到定義,你會發現來源於matrix.h, 此時仔細一看會發現以下一段註釋


仔細看註釋第一行,基本上能確定是引入libmex.lib出了問題,仔細檢查這一步的配置。

編譯完成之後會在caffe-windows-master\matlab\+caffe\private目錄下生成一個caffe_.mexw64檔案


最後檢測是否能夠使用,caffe-windows-master\matlab\demo,此目錄下有一個classification_demo.m,編譯看能否成功,可能你會遇到這樣一個錯誤


瞧一下原始碼,會發現沒有bvlc_reference_caffenet.caffemodel,