Windows下faster-rcnn编译

来源:互联网 发布:linux 中文字体 编辑:程序博客网 时间:2024/05/17 23:34

,Windows下faster-rcnn的编译可以分为2个部分,caffe的编译和faster-rcnn的编译。由于原始的版本大多基于linux,感谢各位前辈的移植与分享,现在windows版本的在网上都可以找到。但对于初学者可能还是有一些坑要填。以下是我遇到的一些问题和解决方法,用以存档。

Caffe的安装

  • 1 命令行建议在powershell中运行,遇到过powershell正常而cmd不成功的情况。
  • 2 caffe现在推出了windows的分支,在github上可以直接找到,官方说是由Microsoft维护,也可以直接在Microsoft的页面上找到caffe Microsoft branch.
  • 3 需要安装miniconda,这个应该可能是anaconda的一个精简版,python的路径会自动配置好。接下来需要按照说明修改配置文件。值得注意的是CUDA_PATH需要根据实际情况修改,比如环境变量中可能是CUDA_PATH_V7_5,不知道这个是不是和多个版本的cuda共存有关,直接照着写编译无法通过。
  • 4 cudnn复制到对应的cuda目录下就可以。
  • 5 接下来照着编译,可能会遇到alt_sstream_impl.hpp还有Unicode编码字符的问题,使用nodepad++转为ansi格式
  • 6 编译完成后,python接口路径需要手动配置。设置环境变量PythonPath指向 \Build\x64\Release\pycaffe, 或者复制 \Build\x64\Release\pycaffe\caffe 到\lib\site-packages. 这里的python_root对应miniconda2.

faster-rcnn安装

  • 1 下载py-faster-rcnn
  • 2 在fetch_faster_rcnn_models.sh中找到模型下载地址,下载对应模型到data文件夹下
  • 3 使用网上给出的lib修改版将原码中的lib文件夹替换lib
  • 4 将caffe中编译得到的pycaffe/caffe下内容拷贝到py-faster-rcnn下caffe下的python/caffe下,不然会出现import _caffe的错误。同时需要安装numpy和pyqt,虽然前面miniconda操作已经装过,但疑似版本不匹配。安装pyqt和numpy会循环升级降级,一起安装解决了这个问题,conda install numpy pyqt。
  • 5 使用lib文件夹下的setup.py编译,可能会遇到Unable to find vcvarsall.bat 的错误,下载安装VCForPython27.msi
  • 6 编译遇到 AttributeError: ‘ProposalLayer’ object has no attribute ‘param_str_’ 问题,找到对应文件,修改param_str_为param_str ,完成编译
  • 7 遇到Check failed: registry.count(type) == 1 (0 vs. 1) Unknown layer 问题,这个是因为caffe工程中没有roi_pooling层,在2016年9月21日在github上下载的caffe中已经有了这个layer,但windows branch的工程文件中没有添加进去,参考py-faster-rcnn下的caffe工程添加对应缺少的文件。
  • 8 proposal_layer.py出现 keyerror:’1’错误,暴力地将第64行改为cfg_key = ‘TEST’#str(self.phase), demo可以正常运行。求了解的小伙伴告知如何优雅地消除这个错误,十分感谢。

其他

如果只是想学习faster-rcnn,matlab版的会更方便,近乎免配置。

0 0