yuyi
科研学习流水账5
阅读论文 milliEye: A Lightweight mmWave Radar and Camera FusionSystem for Robust Object Detection
跑了 milliEye 的项目,读了它的论文。
下载 Radar-RGB-Attentive-Multimodal-Object-Detection 项目和它提供预训练模型, 解决环境问题后,发现它提供的预训练模型有问题。
正在跑 centerFusion 的项目。
问题分析
centerFusion 的项目遇到了很多环境问题,它在项目介绍中没有表明自己使用的 python 和 pytorch 版本。而且,根据项目介绍,我们需要自己编译 DCNv2 的网络结构,而这个网络结构的最初版本并没有提供对不同版本 pytorch 的支持,所以项目中提供的 DCNv2 不一定能成功编译。
关于项目介绍中提供的nuscenes数据集,仅下载 Mini 版的数据集运行convert_nuScenes.py 文件来把 nuScenes 转换为 COCO 格式时会报错。缺少一个配置文件,还需要去 Trainval 中下载 Metadata。
AssertionError: Database version not found: ../../data/nuscenes/v1.0-trainval
当把缺少的文件补上时,代码运行结束时会显示
Loading NuScenes tables for version v1.0-trainval...
已杀死
但是程序没有报错,说明应该是成功运行了。接着运行 bash experiment/test.sh 来测试下载的预训练模型。会报错
Using tensorboardX
THCudaCheck FAIL file=/opt/conda/conda-bld/pytorch_1579022034529/work/aten/src/THC/THCGeneral.cpp line=50 error=100 : no CUDA-capable device is detected
terminate called after throwing an instance of 'std::runtime_error'
what(): cuda runtime error (100) : no CUDA-capable device is detected at /opt/conda/conda-bld/pytorch_1579022034529/work/aten/src/THC/THCGeneral.cpp:50
experiments/test.sh:行 21: 91286 已放弃 (核心已转储) python test.py ddd --exp_id centerfusion --dataset nuscenes --test_dataset nuscenes --val_split mini_val --run_dataset_eval --num_workers 4 --nuscenes_att --velocity --gpus 0 --pointcloud --radar_sweeps 3 --max_pc_dist 60.0 --pc_z_offset -0.0 --load_model ../models/centerfusion_e60.pth --flip_test
一开始以为是pytorch 版本和本机的cuda 配置问题。于是新开了环境去下载其他版本的 pytroch 和对应的 cudatoolkit 测试。结果是遇到各种 DCNv2 相关的问题。最后调试好环境后又报了这个错误。最终耗费很久,在网上找到一个国内的经验贴 https://blog.csdn.net/qq_34972053/article/details/109997814
“
experiments/test.sh: line 20: 8344 Aborted (core dumped)
如果只有一张显卡,这个问题一定会出现,这个问题是由于test.sh中的export CUDA_VISIBLE_DEVICES=1中的数字不对,用gedit打开该文件export CUDA_VISIBLE_DEVICES=0即可解决
”
虽然报的错和我不太完全一样,但是这个方法可以解决我的问题。接着运行测试程序,报错如下
FileNotFoundError: [Errno 2] No such file or directory: '/home/yuyi/Desktop/study/ObjectDetector/CenterFusion/src/lib/../../data/nuscenes/annotations_3sweeps/mini_val.json'
打开 data/nuscenes/ 发现这里只有 annotations_6sweeps 文件。于是抱着尝试的心态名把文件名词修改为 annotations_3sweeps,再次运行测试程序,成功的出结果。