在Windows下編譯Caffe與其Python介面
因為畢設的原因,最近一直在研究Caffe,按照網上自己搭建Caffe的教程無果後,最終參考了happynear與蝦米ning的帖子,但是其中遺漏了一些細節。所以特意寫一篇文章來記錄自己搭建Caffe的過程。
我參考的兩個帖子:
搭建Caffe參考happynear的帖子如何快糙好猛地在Windows下編譯CAFFE並使用其matlab和python介面
編譯Python介面參考蝦米ning的帖子在windows下編譯caffe的python介面(CPU模式)
我的編譯過程:
零:環境
電腦使用WIN10系統,64位,CPU是Intel整合顯示卡,沒有GPU,所以Caffe使用的都是CPU模式。編譯平臺為VS2013,另外安裝了Anaconda2.4(Python2.7)。
一:搭建Caffe
1.下載happynear的Caffe原始碼https://www.github.com/happynear/caffe-windows,第三方庫3rdparty檔案http://pan.baidu.com/s/1bSzvKa。
2.將3rdparty檔案(bin,include,lib)解壓至caffe-windows(假設Caffe原始碼解壓後的資料夾名為caffe-windows)中的3rdparty資料夾中,並將3rdparty/bin資料夾所在路徑新增到環境變數中,使程式可以找到這些第三方庫
3.雙擊.src/caffe/proto/extract_proto.bat批處理檔案來生成caffe.pb.h和caffe.pb.cc
兩個c++檔案,和caffe_pb2.py
這個Python使用的檔案。
4.開啟./build_cpu_only/Mainbuilder.sln,點選上方工具欄中的綠色三角編譯。
二:測試Caffe
1.到http://pan.baidu.com/s/1mgl9ndu下載已經轉換好的MINIST的leveldb檔案,解壓至./examples/mnist資料夾中。
2.將./examples/mnist/lenet_solver.prototxt檔案中的最後一行solver_mode改為CPU。
3.執行caffe-windows目錄下run_mnist.bat即可開始訓練,訓練日誌會儲存在./log資料夾中,以INFO開頭。
三:編譯Python介面
1.在Mainbuilder.sln中選擇pycaffe專案,右鍵選擇屬性修改兩個地方。
2.把C/C++的附加包含目錄中python預設路徑(預設是D:\Python27)修改為你自己Python所在的路徑。我的Anaconda安裝在D:\Anaconda2,所以將附加依賴項中的路徑改為include與Lib在Anaconda2中的路徑即可。
3.將連結-常規-附加庫目錄中libs的預設路徑改為在Anaconda2中的路徑。
4.右鍵選擇pycaffe專案,點選build編譯。編譯成功會在caffe-windows\python\caffe中生成_caffe.pyd檔案。
5.安裝google的protobuf,直接在cmd中使用pip install protobuf安裝。
6.將這個caffe資料夾複製到D:\Anaconda2\Lib\site-packages中,然後嘗試使用import caffe。import可能會出現typeerror:__init__()got an unexpected keyword argument ‘syntax'這樣的錯誤,解決的辦法是在D:\Anaconda2\Lib\site-packages\caffe\proto中選擇caffe_pb2.py檔案,將檔案中所有含有syntax的語句註釋掉即可。
相關文章
- Windows下編譯Caffe並編譯Matlab介面Windows編譯Matlab
- Caffe Windows版本的編譯Windows編譯
- 在Windows下編譯WebRTCWindows編譯Web
- caffe make 編譯編譯
- WPA Supplicant 在Windows下的編譯Windows編譯
- Windows10 下caffe-Windows安裝與配置Windows
- PyTorch在64位Windows下的編譯PyTorchWindows編譯
- Windows下編譯OpenOCDWindows編譯
- Windows下編譯VLCWindows編譯
- Ubuntu 16 04 編譯 Caffe SSDUbuntu編譯
- Windows下編譯使用AliyunOSSCSDKWindows編譯
- windows 下c++編譯WindowsC++編譯
- 【FFmpeg】Windows下FFmpeg編譯Windows編譯
- Windows下編譯fast rcnnWindows編譯ASTCNN
- Windows下編譯TriangleWindows編譯
- windows下編譯安裝thriftWindows編譯
- Windows下編譯使用AliyunOSSPHPSDKWindows編譯PHP
- windows 下編譯c檔案Windows編譯
- linux與windows交叉編譯LinuxWindows編譯
- Ubuntu-16-04-編譯-Caffe-SSDUbuntu編譯
- Windows下CMake編譯安裝OpenCVWindows編譯OpenCV
- 【FFmpeg】Windows下64位ffmpeg編譯Windows編譯
- windows下編譯tflite-runtimeWindows編譯
- centos下caffe用GPU編譯搭建過程以及錯誤總結CentOSGPU編譯
- 如何在Windows下使用make編譯MakefileWindows編譯
- VLC在ubuntu環境下編譯編譯
- 編譯Caffe時開啟cudnn常見問題編譯DNN
- 在Windows下用ant編譯Android應用生成apk安裝包Windows編譯AndroidAPK
- Windows下安裝編譯 Open Cascade 7.8.0Windows編譯
- python程式碼混淆與編譯Python編譯
- 原始碼的下載與編譯原始碼編譯
- 在solrais下編譯安裝MySQL(轉)SolrAI編譯MySql
- 用QT在Windows下編寫dll程式QTWindows
- 在 Windows 中編譯 Github 中的 GO 專案Windows編譯GithubGo
- windows下用mingw編譯linux專案Windows編譯Linux
- 教你如何在 CentOS 7 下編譯安裝 Python 3.7 與 Python 2.7.5 共存CentOS編譯Python
- Java編譯與反編譯Java編譯
- Centos下Sphinx的下載與編譯安裝CentOS編譯