在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下編譯WebRTCWindows編譯Web
- caffe make 編譯編譯
- Windows10 下caffe-Windows安裝與配置Windows
- Windows下編譯TriangleWindows編譯
- Windows下編譯OpenOCDWindows編譯
- Ubuntu 16 04 編譯 Caffe SSDUbuntu編譯
- linux與windows交叉編譯LinuxWindows編譯
- windows下編譯tflite-runtimeWindows編譯
- windows下編譯安裝thriftWindows編譯
- Ubuntu-16-04-編譯-Caffe-SSDUbuntu編譯
- centos下caffe用GPU編譯搭建過程以及錯誤總結CentOSGPU編譯
- Windows下CMake編譯安裝OpenCVWindows編譯OpenCV
- 如何在Windows下使用make編譯MakefileWindows編譯
- Windows下安裝編譯 Open Cascade 7.8.0Windows編譯
- windows下體驗quarkus原生編譯打包Windows編譯
- python程式碼混淆與編譯Python編譯
- 在linux下編譯hibernate筆記Linux編譯筆記
- ollvm在VS2017下編譯LVM編譯
- VLC在ubuntu環境下編譯編譯
- 教你如何在 CentOS 7 下編譯安裝 Python 3.7 與 Python 2.7.5 共存CentOS編譯Python
- 在 Windows 中編譯 Github 中的 GO 專案Windows編譯GithubGo
- caffe的python介面caffemodel引數及特徵抽取示例Python特徵
- Kaldi在ubuntu 18.04下編譯小結Ubuntu編譯
- windows vs 編譯postgresqlWindows編譯SQL
- 在windows下匯入react專案並且打包編譯後部署到nginx上WindowsReact編譯Nginx
- (嵌入式)Windows與Ubantu下的C語言程式的編譯執行WindowsC語言編譯
- Java編譯與反編譯Java編譯
- 在 Windows 中使用 WSL 編譯 Linux 和 U-BootWindows編譯Linuxboot
- windows 7 vs 2013編譯與安裝MySQL 5.7Windows編譯MySql
- caffe的python介面繪製loss和accuracy曲線示例Python
- 在WSL下為OpenWRT交叉編譯出CMake編譯
- Golang在各平臺下如何交叉編譯Golang編譯
- Windows下Visual Studio 2013編譯Lua 5.1.4版本Windows編譯
- Windows下使用Graalvm將Javafx應用編譯成exeWindowsLVMJava編譯
- CentOS 7下編譯安裝Python3CentOS編譯Python
- CentOS下編譯安裝Python3教程CentOS編譯Python
- 在windows上配置vs code編譯除錯c/c++Windows編譯除錯C++
- glog-0.3.5在Windows系統上編譯及應用Windows編譯
- python如何編譯Python編譯