1. 程式人生 > >caffe的Matlab介面問題之路徑問題

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,開啟工具。
  在修改完成後,要儲存。