文章目录
前言
本文档记录了我在学习MMDetection3D过程中遇到的各种BUG和相应的解决方法,亲测有效,希望对大家有所帮助。
环境:
mmcv-full 1.6.0
mmdet 2.24.0
mmdet3d 1.0.0rc4 /home/zzz/mmdetection3d_1.0.0/mmdetection3d-1.0.0rc4
mmsegmentation 0.25.0
MMDetection3D官方教程:MM3d
一、mmcv中出现TypeError: FormatCode() got an unexpected keyword argument ‘verify‘
yapf版本过高,需要降级
pip install yapf==0.40.0
二、AttributeError: module ‘setuptools._distutils’ has no attribute ‘version’
Traceback (most recent call last):
File "./tools/train.py", line 263, in <module>
main()
File "./tools/train.py", line 252, in main
train_model(
File "/home/ztl/mmdetection3d_1.0.0/mmdetection3d-1.0.0rc4/mmdet3d/apis/train.py", line 344, in train_model
train_detector(
File "/home/ztl/mmdetection3d_1.0.0/mmdetection3d-1.0.0rc4/mmdet3d/apis/train.py", line 319, in train_detector
runner.run(data_loaders, cfg.workflow)
File "/home/ztl/anaconda3/envs/mm3d_b/lib/python3.8/site-packages/mmcv/runner/epoch_based_runner.py", line 117, in run
self.call_hook('before_run')
File "/home/ztl/anaconda3/envs/mm3d_b/lib/python3.8/site-packages/mmcv/runner/base_runner.py", line 317, in call_hook
getattr(hook, fn_name)(self)
File "/home/ztl/anaconda3/envs/mm3d_b/lib/python3.8/site-packages/mmcv/runner/dist_utils.py", line 135, in wrapper
return func(*args, **kwargs)
File "/home/ztl/anaconda3/envs/mm3d_b/lib/python3.8/site-packages/mmcv/runner/hooks/logger/tensorboard.py", line 47, in before_run
from torch.utils.tensorboard import SummaryWriter
File "/home/ztl/anaconda3/envs/mm3d_b/lib/python3.8/site-packages/torch/utils/tensorboard/__init__.py", line 4, in <module>
LooseVersion = distutils.version.LooseVersion
AttributeError: module 'setuptools._distutils' has no attribute 'version'
问题:版本过高,‘setuptools._distutils’ 不支持version参数,需要降级。
pip install setuptools==59.5.0
三、 numba 报错 SystemError: initialization of _internal failed without raising an exception
numba 版本和 numpy 版本不兼容
测试得到 numba 0.53.0 和 numpy1.22.1可以解决该问题
pip show 查看 numpy 和 numba 版本
numba 0.53.0
numpy 1.22.1
解决方法:重新安装numpy
pip install numpy==1.22.1
注意:numba与mmcv有强依赖,因此不可以改numba版本