执行python tools/create_data_bevdet.py生成nuScenes数据集的那些索引文件时发生下面的错误:
raceback (most recent call last):
File "tools/create_data_bevdet.py", line 9, in <module>
from tools.data_converter import nuscenes_converter as nuscenes_converter
File "/hostworkspace/BEVDet/tools/data_converter/nuscenes_converter.py", line 14, in <module>
from mmdet3d.core.bbox import points_cam2img
File "/hostworkspace/BEVDet/mmdet3d/core/__init__.py", line 4, in <module>
from .evaluation import * # noqa: F401, F403
File "/hostworkspace/BEVDet/mmdet3d/core/evaluation/__init__.py", line 4, in <module>
from .kitti_utils import kitti_eval, kitti_eval_coco_style
File "/hostworkspace/BEVDet/mmdet3d/core/evaluation/kitti_utils/__init__.py", line 2, in <module>
from .eval import kitti_eval, kitti_eval_coco_style
File "/hostworkspace/BEVDet/mmdet3d/core/evaluation/kitti_utils/eval.py", line 5, in <module>
import numba
File "/opt/conda/lib/python3.8/site-packages/numba/__init__.py", line 43, in <module>
from numba.np.ufunc import (vectorize, guvectorize, threading_layer,
File "/opt/conda/lib/python3.8/site-packages/numba/np/ufunc/__init__.py", line 3, in <module>
from numba.np.ufunc.decorators import Vectorize, GUVectorize, vectorize, guvectorize
File "/opt/conda/lib/python3.8/site-packages/numba/np/ufunc/decorators.py", line 3, in <module>
from numba.np.ufunc import _internal
SystemError: initialization of _internal failed without raising an exception
应该是版本有问题,网上查了一下,说是numba和numpy的版本不匹配,于是想升级一下numba到最新的0.58:
但是报错提示mmdet3d要求使用numba 0.53,于是按外网上的建议删掉numpy和numba,然后重新安装numba 0.53,让numba安装时自动安装匹配的numpy版本:
但是执行python tools/create_data_bevdet.py时仍然报同样的错:
只好把自动安装的numpy1.24.4卸载掉,然后再安装网上有人推荐的numpy 1.23.5
然后create_data_bevdet.py就可以成功执行了!看来 numba0.53需要和numpy1.23.5组合才能使用。bevdet的requirements/runtime.txt里对numpy没有指定版本,这就造成了这个问题:
修改这个文件设置numpy==1.23.5,防止下次重新安装环境后再处理nuScenes数据集时出错。