PointRCNN测试+可视化完整流程

环境:拯救者R9000P 3070显卡 ubuntu20.4

步骤:1:安装显卡驱动

        安装完系统后先检查是否有显卡图形驱动,在安装ubuntu20.4的时候连接网络,直接按下面选择安装三方软件和驱动即可自动安装显卡图形驱动

安装成功可用nvidia-smi查看是否成功。

如果没有则可以按win搜索software在Addtional Drivers中安装

步骤 2:安装anaconda 

步骤 3:安装cuda11.1

CUDA11.1 downloader

注意:如果已经安装的别的版本的cuda,可以直接下载新版本的进行安装覆盖。可以进入/usr/local目录下查看cuda的软链接

经查修改这个这个软链接和bashrc可以实现多个cuda版本共存,nvcc -V查看版本。

步骤 4:新建conda环境,(注意pytorch和cuda一定是如下面严格对应的)

安装pytorch1.8,最好用官方的,如果实在慢的受不了试换清华源 

附:清华源,可以直接放在~/.condarc下

channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - defaults 

 步骤 5:按照官网下载对应的代码,依赖,然后编译即可

        注意:在安装numba时候建议安装0.49.0版本,及pip install numba==0.49.0

编译:sh build_and_install.sh时候报错

error: identifier “THCState_getCurrentStream“ is undefined

将src/cuda/dcn_v2_cuda.cu 文件中的THCState_getCurrentStream(state)都替换为c10::cuda::getCurrentCUDAStream()

error: ‘AT_CHECK’ was not declared in this scope

错误原因:AT_CHECK is deprecated in torch 1.5
高版本的pytorch不再使用AT_CHECK,而是使用 TORCH_CHECK。

CUDA11.1 downloader

快速推理的结果:

附录,完整conda环境

---------------------------------------------------------------------------------------------------------------------------------

测试完后发现预测结果好像和kitti数据集的标签有很大出路,明显车多了很多,

于是接着可视化看标签结果和预测结果的对比

可视化:

可视化环境

按照作者的要求安装环境

注意:这里我的python换成了3.6版本,安装3.7版本的时候报了下面的错误

AttributeError: module 'vtkmodules.all' has no attribute 'vtkGenericRenderWindowInteractor'

 目录组织:

在PointRCNN/data/KITTI/object/training新建一个pred并ln -s 软链接到pointrcnn的预测目录

 在Kitti_vis/kitti_object_vis/data/object软链接到PointRCNN/data/KITTI/object

 python3 kitti_object.py --show_lidar_with_depth --img_fov --const_box --vis --show_image_with_boxes -p

在终端按回车进行切换图片

有些标签没打的车也被识别出来了,绿色是标签,红色是预测(当然有很多也是误识别)

---------------------------------------------------------------------------------------------------------------

下面是训练和tensorboard的曲线查看

参考这篇 过程没有问题 

先训练150个epoch个rpn网络产生下面的文件 

python generate_gt_database.py --class_name 'Car' --split train

python train_rcnn.py --cfg_file cfgs/default.yaml --batch_size 8 --train_mode rpn --epochs 200 

 安装tensorflow(不知道是不是必须的)

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu

进PointRCNN/output/rpn/default 打开终端 ,

tensorboard --logdir tensorboard

注意这里我只训练和rpn网络,所以先看这个

下面进行RCNN网络训练

 python train_rcnn.py --cfg_file cfgs/default.yaml --batch_size 2 --train_mode rcnn --epochs 70  --ckpt_save_interval 2 --rpn_ckpt ../output/rpn/default/ckpt/checkpoint_epoch_150.pth

 我观察到损失趋于问题,我就在epoch等于20的时候停止了

 接下来使用自己的训练的进行推理

python eval_rcnn.py --cfg_file cfgs/default.yaml --ckpt ../output/rcnn/default/ckpt/checkpoint_epoch_20.pth --batch_size 2 --eval_mode rcnn 

 结果在上面的out file

---------------------------------------------------------------------------------------------------------------- 

下面是错误过程经历:

尝试了 cuda10.0 cuda10.1 搭配 pytorch1.00 ,1.20 1.40 1.70 全部都在不同的环节出错或者运行推算的代码直接卡在导入数据环节。网上大部分方法均试过,无效。cuda11也报错。

常见错误1 :

nvcc fatal : Unsupported gpu architecture ‘compute_86‘

CUDA算力高于当前PyTorch版本支持的CUDA算力

export TORCH_CUDA_ARCH_LIST="7.5" or 8.0无效 

安装 cuda11.1 可解决。

注意:这里一定不要忘了在bashrc中加入下面命令,且版本要对好。

export PATH=/usr/local/cuda-11.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

常见错误2 :'iou3d_cuda问题,试过很多解决办法,最后只能换cuda和pytorch版本解决

常见错误3 :终端编译报错进入Pycharm中编译成功

  • 8
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
训练自己的3D目标检测数据需要经过以下步骤: 1.数据收集:首先需要收集包含3D目标的图像和相应的标注数据。可以通过拍摄自己的样本图像,并手动标注目标的位置和边界框,或者使用其他标注工具辅助标注。 2.数据预处理:对收集到的图像和标注数据进行预处理,包括图像的变换、裁剪、缩放、旋转等操作。同时还需要对标注数据进行格式转换,以适应训练模型的要求。 3.模型选择:选择合适的3D目标检测模型,如PointRCNN、Part-A2 Net等。根据自己的数据集大小和任务需求,可选择不同复杂度的模型。 4.训练模型:使用准备好的数据集,将其划分为训练集和验证集。然后使用训练集对模型进行训练,并根据验证集的性能指标调整模型的参数设置。训练过程中需要选择合适的优化算法和合适的超参数。 5.模型评估:在训练完成后,使用测试集对模型进行评估,计算模型的准确率、召回率等性能指标。根据评估结果,可以对模型进行进一步优化或者进行后续的应用。 6.迭代优化:如有需要,可以进行模型的迭代优化,通过增加更多的训练数据、调整模型结构或超参数等方法提升模型性能。 总之,自己的3D目标检测数据训练需要进行数据收集、数据预处理、模型选择、训练模型、模型评估与迭代优化等步骤,以得到满足自己应用需求的目标检测模型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值