安装OpenPCDet跑通PointRCNN
刚开始接触OpenPCDet这个库,配置环境好久都不成功,后面看到这篇博文给我提供了思路,本文主要记录一下安装过程中出现的错误。
前言
刚开始接触OpenPCDet这个库,配置环境好久都不成功,后面看到这篇博文
【OpenPCDet】Kitti数据集下训练PointPillars并评估&可视化
给我提供了思路,本文主要记录一下安装过程中出现的错误
环境
ubuntu20.04+ CUDA Version: 11.5
安装torch
创建虚拟环境
conda create -n OpenPCDet python==3.8
激活环境
conda activate OpenPCDet
通过nvidia-smi
命令查看CUDA版本
然后在Pytorch
官网安装对应版本,我对应版本的指令为
pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cu113
注:
使用pip命令没有安装cudatoolkit,后续在测试的时候报错
numba.cuda.cudadrv.error.NvvmSupportError: No supported GPU compute
capabilities found. Please check your cudatoolkit version matches your
CUDA version.
解决方法,安装对应的cudatoolkit工具
conda install cudatoolkit=11.3 -c pytorch
其中, -c pytorch是表示从pytorch官网安装。
安装pcdet
参照这一篇
OpenPCDet安装和快速演示
安装spconv
pip install spconv-cu113
安装完查看版本
spconv-cu113 2.1.21
后续跟着这篇博文安装即可
【OpenPCDet】Kitti数据集下训练PointPillars并评估&可视化
报错解决
错误1: kornia选择合适版本安装
后续可能会出现ModuleNotFoundError: No module named ‘kornia‘
提示
安装合适的kornia
版本,,当前最新是0.7.0,我这里是选择
pip install kornia==0.6.8
否则可能会出现错误
normalize the input quaternion
quaternion_norm: torch.Tensor = normalize_quaternion(quaternion)
HEREunpack the normalized quaternion components
‘quaternion_to_rotation_matrix’ is being compiled since it was called
from ‘quat_to_mat’ File
“/root/OpenPCDet/pcdet/datasets/argo2/argo2_utils/so3.py”, line 19
(…,3,3) 3D rotation matrices. “”" return
C.quaternion_to_rotation_matrix( quat_wxyz,
order=C.QuaternionCoeffOrder.WXYZ
HERE
)
Expected a value of type ‘float’ for argument ‘p’ but instead found type ‘int’.
错误2:AssertionError:assert img_file.exists()
image_info = {‘image_idx’: sample_idx, ‘image_shape’: self.get_image_shape(sample_idx)}
File “/projectdata/OpenPCDet/pcdet/datasets/kitti/kitti_dataset.py”, line 69, in get_image_shape
assert img_file.exists()
AssertionError
原因:kitti数据集划分有问题或文件出错
kiti dataset info
下面出现的这个问题应该也是数据集没有划分成功
File “train.py”, line 113, in main total_epochs=args.epochs File
“…/pcdet/datasets/init.py”, line 50, in build_dataloader dataset =
all[dataset_cfg.DATASET]( AttributeError: ‘EasyDict’ object has no
attribute ‘DATASET’
参考这个博客下载数据集
错误3:No module named ‘av2’
Traceback (most recent call last):
File “/home/qingyuhan/code/OpenPCDet/OpenPCDet/tools/train.py”, line 7, in
from test import repeat_eval_ckpt
File “/home/qingyuhan/code/OpenPCDet/OpenPCDet/tools/test.py”, line 14, in
from eval_utils import eval_utils
File “/home/qingyuhan/code/OpenPCDet/OpenPCDet/tools/eval_utils/eval_utils.py”, line 8, in
from pcdet.models import load_data_to_gpu
File “…/pcdet/models/init.py”, line 6, in
from .detectors import build_detector
File “…/pcdet/models/detectors/init.py”, line 12, in
from .mppnet import MPPNet
File “…/pcdet/models/detectors/mppnet.py”, line 9, in
from pcdet.datasets.augmentor import augmentor_utils, database_sampler
File “…/pcdet/datasets/init.py”, line 15, in
from .argo2.argo2_dataset import Argo2Dataset
File “…/pcdet/datasets/argo2/argo2_dataset.py”, line 7, in
from av2.utils.io import read_feather
ModuleNotFoundError: No module named ‘av2’
pip install av2==0.2.0
错误4:KeyError: ‘road_plane’
File “…/pcdet/datasets/augmentor/database_sampler.py”, line 372, in
add_sampled_boxes_to_scene
sampled_gt_boxes, data_dict[‘road_plane’], data_dict[‘calib’]
KeyError: ‘road_plane’
解决办法:
find tools/cfgs/*.yaml,
then change “USE_ROAD_PLANE: True” to “USE_ROAD_PLANE: False”
这里看你需要运行的yaml文件
补充:运行PointRCNN时对应的yaml没有这个选项
仔细查看后发现其基础配置是kitti_dataset.yaml
文件,更改这个即可
运行成功截图
安装open3d进行可视化
我这里python版本是3.8,需要安装对应的版本
版本不匹配,可能会出现
安装open3d
pip install open3d==0.11.2
报错
安装sklearn即可
pip install scikit-learn
然后下载pointrcnn_7870.pth进行可视化
python demo.py --cfg_file ./tools/cfgs/kitti_models/pointrcnn.yaml --ckpt /home/qiyu/code/pointrcnn_7870.pth --data_path ../data/kitti/testing/velodyne/007491.bin
可视化截图
参考
【OpenPCDet】Kitti数据集下训练PointPillars并评估&可视化
spconv版本更迭导致的Bug:AttributeError: module ‘spconv‘ has no attribute ‘SparseModule‘
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)