maskscoring_rcnn问题记录
最近试用了maskscoring_rcnn,效果不错的说,不过安装确实是坑比较多,感觉做的项目不够工程化,很多还需要深入文件里面进行修改,而且适配起来挺麻烦的。
maskscoring_rcnn 代码地址:https://github.com/zjhuang22/maskscoring_rcnn
maskrcnn-benchmark 代码地址:https://github.com/facebookresearch/maskrcnn-benchmark
先说下我使用的配置:
cuda9,torch1.0.0
(e36) $ cat /usr/local/cuda/version.txt
CUDA Version 9.0.176
(e36) $ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 6
#define CUDNN_PATCHLEVEL 4
安装步骤最主要的就两条:
pip install ninja yacs cython matplotlib pyqt5
conda install pytorch-nightly torchvision=0.2.1 cudatoolkit=9.0 -c pytorch
问题一:torch下载缓慢
把torch安装命令的“-c pytorch"去掉,配置清华源或阿里等源即可,配置方法这里就不放了,网上很多
问题二:undefined symbol: _ZN3c1019ComplexCUDATensorIdEv
这个问题我搜了很多,网上都没有,所以单独写一个。
结论:torch版本问题!
你是不是还在安装pytorch1.1.0?然后看别人说torchvision0.2.1?balabala一堆貌似挺有道理。但是经过实践,cuda9是需要的,torchvision0.2.1也是需要的,可是torch不一定是1.1.0,反正我用的torch是1.0.0!!!不用怀疑,就是这样子,1.1.0我这就报错。
问题三:from pip._vendor.progress import HIDE_CURSOR, SHOW_CURSOR ImportError: cannot import name ‘HIDE_CURSOR’
这个不太确定,应该是我环境没有装完全,在执行pip install那条时安装了pyqt5这个东西,装完就好使了。
问题四:ValueError: numpy.ufunc size changed, may indicate binary incompatibility. Expected 216 from C header, got 192 from PyObject
numpy版本问题,升级吧,试过1.14.5等别的版本,最后我用的1.17.4。
pip install --upgrade numpy
另外可能是coco的问题,报错大体如下:
。。。。。。 pycocotools._mask
ValueError: numpy.ufunc size changed, may indicate binary incompatibility. Expected 216 from C header, got 192 from PyObject
找到下载好的coco-master
cd coco-master/PythonAPI/
python setup.py build_ext install
问题五:ImportError: cannot import name ‘_download_url_to_file’
找到 maskrcnn_benchmark/utils/model_zool.py
from torch.utils.model_zoo import _download_url_to_file
from torch.utils.model_zoo import urlparse
from torch.utils.model_zoo import HASH_REGEX
修改为
from torch.hub import _download_url_to_file
from torch.hub import urlparse
from torch.utils.model_zoo import HASH_REGEX
# 如果是torch1.1.0则这个地方也需要修改成下面的
# from torch.hub import HASH_REGEX