Caffe: Faster-RCNN Python版本配置 (Windows)
環境:VS2013,CUDA8.0,CuDNN 5.0,Win10/7,Anaconda
一、準備工作
1. 添加VS的cl.exe所在路徑至環境變量
VS的安裝路徑下有一個VC文件夾,將其中的bin目錄添加值環境變量(該目錄下有cl.exe),路徑參考如下:
D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
如未正確添加后續步驟將出現?TypeError: object of type ‘NoneType’ has no len()?錯誤。
2. 下載Caffe-Microsoft并添加roi_poling_layer后正確編譯
下載地址:https://github.com/Microsoft/caffe?
由于windows版本caffe的不完善,要先在libcaffe項目中添加roi_poling層的相關支持。具體操作如下:
在libcaffe項目下的 cu—layers 文件夾右擊,添加——現有項,找到 caffe根目錄—src—caffe—layers下,添加roi_pooling_layer.cu。
路徑示例:
同理,在libcaffe項目下的 src—layers 添加roi_polling_layer.cpp;?
(所在路徑:caffe根目錄—src—caffe—layers)
在libcaffe項目下 include—layers添加roi_pooling_layer.hpp。?
(所在路徑:caffe根目錄—include—caffe—layers)
記得在配置中開啟python版編譯,然后生成caffe。具體步驟可參考這里,生成成功則大功告成。
error MSB4062: 未能從程序集 …… 加載任務“NuGetPackageOverlay”。
如果你之前生成過windows版caffe,在添加roi_pooling支持后重新生成時,很可能會碰到error MSB4062錯誤。我的解決方案如下:
(1)將caffe根目錄下的Build文件夾整個刪除;?
(2)右鍵 解決方案caffe —清理解決方案;?
(3)重新生成。
另:網上有說是CuDNN 5.0 與 CUDA8.0 兼容問題的,也有說是Nuget中opencv更新至2.4.11問題的(默認為2.4.10),我個人的嘗試是——不好使 = =。我在兩個配置過caffe的機器上都出現了error MSB4062,均為CUDA 8.0+CuDNN 5.0,一個Win7一個Win10,最終都是重新生成得以解決。
二、配置Faster-RCNN
1. 配置windows版的py-faster-rcnn
下載py-faster-rcnn,地址:https://github.com/rbgirshick/py-faster-rcnn
由于上述版本中的python都是基于linux環境編寫的,windows運行需要進行改動。好在有人已經完成了相關工作:
再下載py-faster-rcnn-windows,地址:https://github.com/MrGF/py-faster-rcnn-windows?
將其中的文件復制進py-faster-rcnn進行替換。
替換后,在py-faster-rcnn根目錄—lib—rpn路徑下,編輯proposal_layer.py:
(1)將其中的 param_str_ 替換為 param_str。?
(2)將
- 1
替換為
cfg_key = str('TRAIN' if self.phase == 0 else 'TEST')- 1
2. 拷入生成的Caffe
將Caffe根目錄—Build文件夾下,找到生成的pycaffe,將其中的caffe文件夾整體復制到py-faster-rcnn根目錄—caffe-fast-rcnn—python文件夾下。我生成的caffe是Release版本,如圖:
復制到:
注:官方推薦用命令
git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git- 1
下載py-faster-rcnn,如果用Download ZIP(因為我們已經有了Caffe-Microsoft),在py-faster-rcnn的caffe-faster-rcnn下單獨創建python文件夾,再將生成的pycaffe下的caffe拷貝進來,實測也能夠完成demo生成。
3. 客制化修改與setup
根據本機的CUDA環境,修改py-faster-rcnn—lib路徑下的setup_cuda.py:
(1)第14行
'-arch=sm_35'- 1
修改為本機顯卡的計算能力,具體查詢Nvida官網。?
(2)第33行
- 1
修改為本機的CUDA-include環境,比如我的路徑是:
include_dirs = [numpy_include, 'C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v8.0\\include'])- 1
此時可以CMD打開至py-faster-rcnn\lib路徑下,運行命令:
python setup.py install python setup.py build_ext --inplace python setup_cuda.py install- 1
- 2
- 3
假如出現缺少某些依賴項或cv2.pyd (opencv) 的情況,用pip install命令安裝或網上搜索相關配置方法即可,pip用法示例:
pip install easydict- 1
成功狀態如圖:
4. 運行demo
官方要求我們運行py-faster-rcnn\data\scripts下的fetch_faster_rcnn_models.sh進行model下載,實際直接下載該鏈接:https://dl.dropboxusercontent.com/s/o6ii098bu51d139/faster_rcnn_models.tgz
下載完成后,解壓文件夾至py-faster-rcnn\data目錄下,如圖:
CMD到達py-faster-rcnn\tools路徑下,我的環境是VS2013,運行:
SET VS90COMNTOOLS=%VS120COMNTOOLS% python demo.py- 1
- 2
其它如VS2012 就改為SET VS90COMNTOOLS=%VS110COMNTOOLS%,出問題就是VS的鍋 = =。
Windows-Caffe,真不容易= =
轉載請標明出處:http://blog.csdn.net/u011185952/article/details/71079038
參考博文:http://blog.csdn.net/chenzhi1992/article/details/52618386
總結
以上是生活随笔為你收集整理的Caffe: Faster-RCNN Python版本配置 (Windows)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度学习之windows python
- 下一篇: java信息管理系统总结_java实现科