如何快糙好猛地在Windows下編譯CAFFE並使用其matlab和python接口

轉發自:http://blog.csdn.net/happynear/article/details/45372231

一、準備

  需要用到的東西我已經幫大家全部準備好了,有3月31日剛剛從caffe官方dev分支fork過來的源代碼:https://www.github.com/happynear/caffe-windows。有我自己親手製作的第三方庫 http://pan.baidu.com/s/1sjr37tj ,在源碼的根目錄下建立個3rdparty文件夾,把文件解壓進去就可以了。
  解壓好之後,要將3rdparty/bin文件夾添加到系統目錄,這樣才能讓程序找到這些第三方庫的dll。
  然後是Visual Studio 2012,因爲我的第三方庫都是VS2012環境下編譯的,所以用其他版本VS的請自行編譯。
  最後是CUDA和MKL了,MKL是可選的,大家可以去Intel官方申請,如果不用cpu模式的話其實也無所謂,在第三方庫包中我還提供了openblas的庫文件。

二、編譯

  編譯非常簡單,分爲以下幾步:
  1、雙擊./src/caffe/proto/extract_proto.bat批處理文件來生成caffe.pb.h 和caffe.pb.cc兩個c++文件,和caffe_pb2.py這個python使用的文件。
  2、打開./build/MSVC/MainBuilder.sln,打開之後切換編譯模式至Release X64模式。如果打開之後顯示加載失敗,可能你的CUDA版本和我的不一致,我的是CUDA 6.5版,這時就要用記事本打開./build/MSVC/MainBuilder.vcxproj,搜索CUDA 6.5,把這個6.5換成你自己的CUDA版本,就可以正常打開了。
  3、右鍵點擊左邊的MainCaller項目,選擇屬性,在C/C++選項卡中,把附加包含目錄中的cuda include目錄改成你自己的;在鏈接器選項卡中,把附加庫目錄中的cuda library目錄也改成你自己的。
  4、點上邊工具欄中的綠色三角編譯吧。
  
  如果要用matlab wrapper來提取特徵、觀察訓練好的權重的話呢,只需要把matcaffe項目裏面的cuda、matlab目錄修改成你自己的,然後編譯,你就能從matlab/caffe文件夾裏面找到一個叫caffe.mexw64的文件啦。
  python的wrapper類似,把pycaffe項目裏的目錄改成你自己的,就能在python/caffe文件夾中生成_caffe.pyd的python dll文件。


發佈了34 篇原創文章 · 獲贊 63 · 訪問量 30萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章