最近尝试运行了python版的py-faster-rcnn,代码地址(https://github.com/rbgirshick/py-faster-rcnn),遇到了一些问题,看到别人家的孩子在编译lib时候没出问题我特别羡慕嫉妒恨。。。
编译lib文件遇到的问题如下:
首先要先下载几个模块,cython,python-opencv,easydict,
sudo apt-get install pip
sudo pip install cython
sudo pip install easydict
sudo apt-get install python-opencv
之后人品好的朋友在终端直接敲入make 就完成了编译,但人品不好的像我一样的人,会出现比如没有bbox.c文件、cpu_nms.c文件、gpu_nms.c文件、_mask.c文件等的问题,解决方法为:
在每个文件的文件夹打开终端使用cython命令对相应的.pyx文件进行编译,生成.c文件,如:
解决缺失bbox.c文件,在utils的文件中打开终端,输入cython bbox.pyx即可,发现生成了.c文件,然后其余的以此类推解决,参考博客地址(http://blog.youkuaiyun.com/jiajunlee/article/details/50373815),在此非常感谢这位大神!
但是我还出现了一个问题,就是:
from utils.cython_bbox import bbox_vote
ImportError:dynamic module does not define init function(initcython_bbox)
对于这个错误,我的解决方法是,打开lib中的setup.py文件,把114行的utils.cython_bbox"改为"utils.bbox",即可解决问题,推测原因在于生成的.so文件的名要和.c文件名一样。如还有问题,可留言讨论!