Windows+Caffe+VS2013+python接口配置過程


前段時間在筆記本上配置了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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM