01. SEGMENTATION FAULT
正在配置OCNET的代码,在自己的本地运行没有任何问题,但是在服务器上一直报错:SEGMENTATION FAULT
这属于很概括的报错,无法直接看明白到底是什么问题,同时在服务器端也没有界面,所以就倒逼着我去学习了PDB工具,学习链接如下:
https://www.ibm.com/developerworks/cn/linux/l-cn-pythondebugger/index.html
经过一番排查,最终确定,是
仅仅使用如下命令是不够的
import matplotlib.pyplot as plt
必须要用这样的三行完整版本:
import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt
同时,感慨一下,PDB真好用啊!!
02. undefined symbol: __cudaPopCallConfiguration
参考:https://github.com/jwyang/faster-rcnn.pytorch/issues/190
是pytorch的版本和cuda版本不一致。
Pytorch安装参考:https://pytorch.org/get-started/previous-versions/
我使用的是cuda 9.2,使用`nvcc -V`可以查询到
安装:
conda install pytorch=0.4.1 torchvision cuda80 -c pytorch
注意:官方给的是下面的命令,安装后再去单独安装torchvision会出现版本冲突(无论是conda还是pip)
conda install pytorch=0.4.1 cuda80 -c pytorch
在conda中,把所有要安装的包一次性写到同一行里,就不会出现版本冲突的问题。
03. AttributeError: 'NoneType' object has no attribute 'copy'
数据集没读取到,路径不对
04. ImportError: libbz2.so.1.0: cannot open shared object file: No such file or directory
conda 方式安装opencv会有问题,使用pip方式安装即可:
pip install opencv-python
05. subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.
请参考:https://github.com/mapillary/inplace_abn/issues/106#issuecomment-475460496
具体来说就是cuda版本, gcc版本的不正确