前段時間在筆記本上配置了Caffe框架,中間過程曲曲折折,但由於懶沒有將詳細過程總結下來,這兩天又在一台配置較高的台式機上配置了Caffe,配置時便非常后悔當初沒有寫到博客中去,現已配置好Caffe,故應當立即寫到博客中去,不可再拖延~
准備工具:Win7(64位);Caffe;vs2013;anaconda;
(附注:1.Caffe下載鏈接:https://github.com/Microsoft/caffe(這其中有兩個版本,一個是Caffe-Windows(微軟制作),一個是Caffe-Master(賈教授的作品),兩者區別就是Master共16個項目,比Windows多一個Caffe Managed 項目,筆者用的是Master版本,不過網上用Caffe-Windows的也很多,應該都可以用。。
2.VS2013迅雷下載鏈接:http://download.microsoft.com/download/B/1/9/B1932B8C-1046-4773-A1DD-4AB5C0978637/vs2013.2_ult_chs.iso,筆者這里用的VS2013的update2版本,之前在筆記本上用的是update5版本沒出什么問題,現在在台式機上用update5版本,在加載Caffe項目時,提示要升級項目中的庫(我懷疑update5和VS2015有點聯系。。網上說VS2015對Caffe的兼容性並不太好,后來我也出了各種問題,有可能是我操作的問題,各位可以自行操作)
3.anaconda下載:直接上Anaconda的官網,找到對應於自己的系統,所用Python版本的anaconda,下載下來,筆者這里用的是ananconda2。
4.再附一下matlabR2013a的鏈接,防止以后要用m接口:
ed2k://|file|[%E7%9F%A9%E9%98%B5%E5%AE%9E%E9%AA%8C%E5%AE%A4].Matlab.2013awww.downpk.com.iso|6049900544|94208016c2c5117bb59366121c94eae6|h=dinulprqreviimkaz7jzzzfeoezomixt|/
下載好所需的工具后,我們就開始配置了:
1.首先解壓Caffe-Master文件夾,復制Windows->CommanSetting.props.example文件,重命名為CommanSetting.props文件,並刪除原始的.example文件,如下:
如果不刪除.example文件,打開.props文件時,可能就會出現如下的問題:
2.用VS打開Windows->Caffe.sln解決方案,在CommanSettings.props文件中修改相應內容:
(筆者這里只用CPU和Python接口)
注意!這里只需要修改上圖中的第7、8、13、48行,其他地方不要修改!!!要不然編譯的時候會出現各種語法錯誤以及其他*疼的問題。。。
對了,這里有可能出現libcaffe和test_all加載失敗的情況,這時候刪掉Caffe-Master文件夾,重新進行解壓,重新打開,基本可以解決:
3.修改好配置文件后,就可以進行編譯Caffe了(注意:一定要使用Release格式,要不然后期用caffe.exe訓練網絡時時間很長):
這時候,會彈出一個框,表示正在在下第三方庫,里面包括openCV之類的庫,下載完后可以發現:
不過如果是學校的網,由於是內網,下載速度將會很慢,可能會各種無響應或者無法連接到遠程服務器等等(我當時花了n個小時,阿西吧。。),各位可以在網上下載好NuGetPackages文件夾直接放在Caffe-Master並列文件夾中,編譯之前進行如下操作:
取消掉上圖中的兩個鈎,不過這種方法筆者沒有試(快要放棄的時候NuGet程序包還原好了。。。,注意,若用內網下載的時候最好不要進行操作。。。)
編譯中間可能會出現以下幾種情況:
(1)生成解決方案失敗,提示說無法打開libcaffe.lib之類的error。解決方法是直接對libcaffe重新生成,或者直接生成一次
然后,接着會出現的問題:沒有生成object文件;解決辦法:雙擊此錯誤,保存彈出來的框,然后再對libcaffe“重新生成一次”
還有出現一些錯誤有可能有幫助的操作,右擊項目,在屬性->C/C++->常規中,設置 將警告視為錯誤 為否。
還有可能是提示無法打開包括文件python.h之類的,可以先在配置文件里取消python接口,編譯整個項目,這個錯誤就不會產生,然后再將pycaffe設為啟動項目,同時設置python接口,再編譯pycaffe即可;
出現其他錯誤就需要各位自己在網上進行搜索了。。。。。
編譯成功后,設置屬性:
然后運行caffe.cpp,按ctrl+F5進行編譯:
如果出現一下情況:
解決辦法是重啟電腦
出現下面的窗口說明編譯成功:
以上,我們就暫時配置好了Caffe,現在我們可以用Caffe來跑一下最簡單的mnist數據集,方法如下:
1.(1)去官網http://yann.lecun.com/exdb/mnist/下載mnist數據集。
下載后解壓到E:\caffe\data\mnist,放在兩個文件夾中,如下圖所示:
2。在caffe根目錄下,新建一個create_mnist.bat,里面寫入如下的腳本:
然后雙擊該腳本運行,即可在E:\caffe\examples\mnist下面生成相應的lmdb數據文件:
3.
修改E:\caffe\examples\mnist\lenet_solver.prototxt,將最后一行改為solver_mode:CPU,
修改E:\caffe\examples\mnist\lenet_train_test.prototxt,如下所示,左面為原始的,右面為修改后的:
4.在caffe根目錄下,新建train_mnist.bat,然后輸入如下的腳本:
當然筆者在這里也將Release改成了Rebug~
然后雙擊運行,就會開始訓練,訓練完畢后會得到相應的准確率和損失率
好了,現在我們來配置python接口:
對pycaffe項目進行編譯,設置為Release方式,編譯好后,會在E:\caffe\caffe-master\Build\x64\Release中找到pycaffe文件夾,將其復制到E:\Anaconda2\Lib\site-packages即可,然后在python.exe輸入import caffe,一般會出現no mpodel named google.protobuf這種錯誤,注意這里要在cmd中使用
pip.exe install protobuf命令(不要用conda install protobuf指令,會出現UnicodeEncodeError錯誤;使用pip指令前要先安裝pip,使用conda install pip即可,安裝好后某些人使用pip install protobuf時可能會出現'install' is a unknown or unsupported command的情況,這種情況是由於
你的電腦還安裝了其他pip.你可以使用 where pip來查看)
安裝好后,再使用import caffe就可以了,至此,所有配置就大功告成了,在這里建議各位配置的時候千萬要靜下心來,遇到錯誤要積極地搜索,還有就是搜索的時候不要畏懼英文網站,其實好多很好的回答就在上面(比如我之前的ipip指令遇到的install問題),只是大部分人容易一看到英文就畏懼了,
所以一定要靜下心來,一步一步分析,邏輯推理,找出問題錯誤所在,並找出解決方法,這將是一種非常好的科學品質~
參考博客: http://www.cnblogs.com/cxyxbk/p/5902034.html
http://blog.csdn.net/zb1165048017/article/details/51355143?locationNum=6&fps=1
http://blog.csdn.net/qq_14845119/article/details/52415090