caffe的Matlab介面問題之路徑問題
在執行功能為MATLAB生產mat格式資料的檔案中,執行時提示:
Undefined variable ‘caffe’or class “caffe.reset_all”(其中這個reset_all是一個函式),
兩個解決方案:
1) 可能matcaffe介面編譯沒有成功或者是有問題:
對此,進行了matcaffe介面測試,可以正常,但是相應的在caffe-master下bulid(所有編譯caffe中編譯好的一般都放在這裡)下
2)可能是MATLAB在呼叫caffe是路徑沒有指定,導致函式找不到的問題,相應的在MATLAB中的執行檔案中新增如下程式碼(這個程式碼在caffe-master/matlab/demo/classification中,):
ifexist(‘matlab/+caffe’,’dir’)
addpath(‘matlab’);
else
error(‘please run this demo from caffe/matlan/demo’);
end
注意裡面的路徑要根據實際需要修改。可以跑通了。
對於路徑問題,下面有必要總結下matlab搜尋路徑順序 以及如何設定matlab工作路徑問題:
搜尋順序的問題:
如果在命令提示符“>>”後輸入符號 xt,或程式語句中有一個符號 xt,那麼, MATLAB
將試圖按下列次序去搜索和識別:
(1) 在 MATLAB 記憶體中進行檢查搜尋,看 xt 是否為工作空間視窗的變數或特殊常量,
如果是,則將其當成變數或特殊常量來處理,不再往下展開搜尋識別;
(2) 上一步否定後,檢查 xt 是否為 MATLAB 的內部函式,若肯定,則呼叫 xt 這個內
部函式;
(3) 上一步否定後,繼續在當前目錄中搜索是否有名為“xt.m”或“xt.mex”的檔案存
在,若肯定,則將 xt 作為檔案呼叫;
(4) 上一步否定後,繼續在 MATLAB搜尋路徑的所有目錄中搜索是否有名為“xt.m”
或“xt.mex”的檔案存在,若肯定,則將 xt 作為檔案呼叫;
(5) 上述 4 步全走完後,仍未發現 xt 這一符號的出處,則 MATLAB 發出錯誤資訊。
必須指出的是,這種搜尋是以花費更多執行時間為代價的。
1 檢視搜尋路徑:path 在命令視窗中輸入path,就能檢視matlab的搜尋路徑(比如,輸入一條程式碼,程式會在這些目錄中依次搜尋是否為變數,是否為函式,M檔案等)。 2 當前工作目錄:cd 輸入命令cd,可以檢視當前工作目錄。 3 修改工作路徑:userpath('F:\matlab\work') 路徑可以自己定義。 像以前版本一樣,設定路徑為安裝目錄下work資料夾。 4 儲存路徑修改:savepath 改完預設路徑後需要儲存一下。 重啟軟體,就能看到路徑已修改。 5 也可以用工具操作:pathtool 在命令視窗中輸入pathtool,開啟工具。 在修改完成後,要儲存。