这是我的第一次复现一个代码,一路的颠沛流离,特写此文章,因为自己淋过雨,所以想给别人撑把伞,希望对大家有帮助!
本人配置cuda:11.1 pytorch 1.9 python==3.7
可以在终端中通过pip install 安装,如果一直报错装不了可以尝试下载本地文件后手动在终端中通过pip install -r 文件名字 -i 清华源地址 来安装。
pytorch本地下载网站https://download.pytorch.org/whl/torch_stable.html
可以参考我的配置安装
(如果不知道torch怎么配对应版本可以到pytorch官网去找各版本对应的torchaudio版本和torchvision版本)
从github中获取源代码:IDEA-Research/DN-DETR:[CVPR 2022 口头] DN-DETR 正式实施 (github.com)
根据readme配置环境
(先要安装一个git才能用哦!)
1.克隆此存储库
git clone https://github.com/IDEA-Research/DN-DETR.git cd DN-DETR
2.安装 Pytorch 和 torchvision(如果使用我上面的方法下载安装包本地安装torch的话可以跳过一步)
按照 Start Locally | PyTorch 上的说明进行操作。
# an example: conda install -c pytorch pytorch torchvision
3.安装其他需要的软件包
pip install -r requirements.txt
4.编译 CUDA 运算符
cd models/dn_dab_deformable_detr/ops python setup.py build install # unit test (should see all checking is True) python test.py cd ../../..
//注意requirement.txt中的pycocotools和panopticapi需要独立安装
可使用pip install pycocotools安装若不成功可以在后面加上清华源地址,这一步不难
在配置好文件后编译CUDA运算符
但遇到构建wheel文件失败的问题
随后查找报错原因,发现可能是11.1的cuda版本算力不支持3060显卡的算力
导致算力不匹配,搞了好半天从,最终无果,只能求助老师,
在老师一通操作下,解决了问题,随后在运行中又出现了找不到coco_path,model -m等问题
在一通搜索后发现是配置问题,于是跟着教程把coco_path,model -m 给配置了上去
先点击运行
然后点击编辑配置
在main中设置形参,像我一样输入就行。
配置好后再次运行
这时可能会出现找不到路径的问题:如图
后查询得出可能是main.py中的路径设置出现了问题,或者是使用了相对路径,如果是前者,则需要找到这个缺少的路径并补全路径,如果是后者,则需要把相对路径的地方改为绝对路径。
后期ps:(这段是我后来添加的 )但问题在于我根本找不到缺少地址的代码是哪一行,所以我花了许多时间来查看代码,最终发现了是由于ouput_dir的输出路径是空的,所以导致跑的数据集找不到存放地址。我又看了训练数据集的指令终于发现了端倪
原来作者把output_dir的路径放在了执行命令当中,我标起来的就是存放output_dir的位置,所以这也就解释了为什么单运行代码会报错,而输入指令后整个代码是可以跑起来的。
在解决这个问题以后,我还去了datasets里把里面的代码运行了一遍(我也不知道为什么全红了,不过我跑训练集是可以跑的)
在运行datasets里代码时还遇到了一些问题
这种问题解决起来就比较简单,只需要把相对路径换成绝对路径就好了,例如在代码中把原来的from .coco import build as build_coco改成
在前面加一个代码所在目录名称就好了。我的coco是在datasets文件夹下的所以在.coco前加了datasets
解决了这些问题以后总算是可以跑起来了
在终端中输入conda activate DN(自己创建的环境名称)
激活环境,再cd 到源码的位置
其中我标起来的位置改为你们自己的数据集位置即可
如图便是运行成功了....