1. 先修改CPP文件才能执行sh build_and_install.sh
若出现nvcc fatal : Unsupported gpu architecture 'compute_86'
则是你的GPU算力超过你当前CUDA版本支持的算力,要么升级你的CUDA,要么降低算力要求。
(68条消息) 【Bug解决】nvcc fatal : Unsupported gpu architecture ‘compute_86‘_nvcc算力设置_不吃饭就会放大招的博客-CSDN博客
2.导入数据集
用软连接
ln -s autodl-tmp/training EPNet/data/KITTI/object
ln -s autodl-tmp/testing EPNet/data/KITTI/object
修改数据集地址
要加上/root/不然读取不到数据 我也不知道为什么,试了很多办法,加上就好使。
3.遇到这种错误就直接换成绝对路径跑一下试试
AssertionError: Caught AssertionError in DataLoader worker process 0.
Original Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/torch/utils/data/_utils/worker.py", line 202, in _worker_loop
data = fetcher.fetch(index)
File "/usr/local/lib/python3.8/dist-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/usr/local/lib/python3.8/dist-packages/torch/utils/data/_utils/fetch.py", line 44, in <listcomp>
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/root/EPNet/tools/../lib/datasets/kitti_rcnn_dataset.py", line 266, in __getitem__
return self.get_rpn_with_li_fusion(index)
File "/root/EPNet/tools/../lib/datasets/kitti_rcnn_dataset.py", line 284, in get_rpn_with_li_fusion
calib = self.get_calib(sample_id)
File "/root/EPNet/tools/../lib/datasets/kitti_rcnn_dataset.py", line 165, in get_calib
return super().get_calib(idx % 10000)
File "/root/EPNet/tools/../lib/datasets/kitti_dataset.py", line 76, in get_calib
assert os.path.exists(calib_file)
AssertionError(出现这种断言问题先去判断数据集是否导入成果,然后再去看看读取数据得代码)将他给的代码直接换成绝对路径
在运行
一张3090跑一个epoch要50分钟 搞多模态检测干嘛,得多搞几张卡或者把train.txt删掉一些
复现还是很简单得,把CPP文件一改,数据集传进去就行。
多模态目标检测代码都是照这个改的,还是得慢慢学这代码