1. 程式人生 > >ImportError: No module named caffe 的解決方案

ImportError: No module named caffe 的解決方案

在成功編譯caffe的原始碼之後,可以在python環境中使用caffe。在Ubuntu環境下,開啟python解釋程式,輸入import caffe時,可能會出現     ImportError: No module named caffe

>>>import caffe
   Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
   ImportError: No module named caffe

這種情況一般是沒有把caffe中的和python相關的內容的路徑新增到python的編譯路徑中。可以使用以下方式解決問題:

在Ubuntu中,按住ctrl+alt+t開啟終端,輸入“python”開啟python直譯器,輸入:

import sys
sys.path.append("/(你的caffe-master路徑)/caffe-master/python")

sys.path.append("/(你的caffe-master路徑)/caffe-master/python/caffe")

提示:輸入每一行之後都要按回車,讓命令執行。三條命令執行之後一般就沒問題了。因為python的編譯路徑“path”是模型“sys”的一個屬性,所以要先使用命令“import sys”。

好吧,我承認上述方法治標不治本。在python直譯器輸入以上命令之後,使用import caffe木有問題,但是重啟python直譯器之後再import caffe還是會報同樣的錯誤。只有在caffe-master/python這個資料夾之下開啟python直譯器使用import caffe才不會報錯。
隨後找到了一個不是解決辦法的辦法,使用python呼叫caffe時,在相應的.py檔案的最前面加入以下四句: #設定caffe原始碼所在的路徑 caffe_root = '../../../caffe-master/(這是caffe-master資料夾路徑,這個是相對路徑,絕對路徑和相對路徑都可以。絕對路徑寫法:/../../caffe-master/)' import sys   sys.path.insert(0, caffe_root + 'python')   import caffe   這樣就沒有問題了。當然,所有呼叫caffe框架的.py檔案中都要包含這幾句話。也可以把以上幾句封裝成一個python類,專門用來實現“import caffe”的操作。
暫時只找到這些方法,大家見諒哈。