一、ValueError: numpy.ufunc size changed, may indicate binary incompatibility.
解决方案:numpy版本过高,输入如下三行命令:
pip uninstall numpy
pip install numpy==1.14.5
pip install --upgrade numpy
二、RuntimeError: expected device cuda:0 and dtype Float but got device cuda:0
这个问题跟pytorch版本有些许关系,不过要解决这个问题只需要在类型不对的tensor后面加上.float()
即可;
三、ImportError: /home/xxx/SOLO/mmdet/ops/dcn/deform_conv_cuda.cpython-3
出现这个问题,中途你可能又重新调整过torch版本。解决方法是先删除build文件夹,再运行pip install -v -e .
即可;
四、git clone出现 fatal: unable to access ‘https://github.com/…’
一般跟你的网速有关,访问github太慢了。所以如果多次尝试还是不可以的话,可以了解一下Gitee大法,从Gitee上找一个一模一样的项目,然后pip install就好。
五、No module named ‘mmcv.cnn.weight_init‘
我中途遇到了问题六(下述),然后尝试过pip install mmcv-full,但是和mmdetection版本对应不上了,因此出现这个问题。解决方法是安装对应版本的mmcv,版本在requirement.txt中可见;
六、RuntimeError: cuda runtime error (98) : invalid device function at mmdet/ops/…
这个问题归根结底还是torch torchvision cuda cudatoolkit版本不对应。我的服务器上cuda版本是10.0,torch是1.3.1,torchvision是0.4.1,一开始没有conda install cudatoolkit,在经历了很多次失败的尝试以后,我把conda中的环境都卸掉,然后输入conda install pytorch=1.3 torchvision cudatoolkit=10.0 -c pytorch
,后续步骤和教程一样,问题就迎刃而解了。
以上就是我在SOLO的training中遇到的问题和解决的方法,中途查阅了太多资料,solution的来源已经找不到了。如果你们遇到了相似的问题,希望这篇博客能帮到你们。