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,