最近在研究Mask RCNN分割问题遇到这个问题:
pycocotools/_mask.so: undefined symbol: _Py_ZeroStruct
摸索了好久,百度,Google都试过,没找到解决方法,最后自己想办法,一步一步找bug,解决方法:
请注意Cython安装位置,用python执行还是python3执行,都要有Cython才行,没有请先安装
第一步:
git clone https://github.com/pdollar/coco.git
第二步:
cd coco/PythonAPI
python setup.py build_ext --inplace
第三步:
python setup.py build_ext install
经过上面三个步骤,已经安装好了pycocotools到python库了,进入python3命令行就可以直接导入了,执行下面命令不报错说明已经安装成功了
>>> import pycocotools
后面很关键,download_and_convert_data.py中的源码是从lib文件夹导入pycocotools,现在需要将所有从lib的相关导入,如:
from libs.datasets.pycocotools.coco import COCO
改为从python库导入,如
from pycocotools.coco import COCO最后,执行python download_and_convert_data.py会执行成功。