当前位置: 首页 > news >正文

DN-DETR调试记录

博主在进行DINO实验过程中,发现在提取了3个类别的COCO数据集中,DINO-DETR对car,truck的检测性能并不理想,又通过实验自己的数据集,发现AP值相差不大且较为符合预期,因此便猜想是否是由于DINO中加入了负样本约束导致背景难以学习进而使效果差,因此便使用了DN-DETR来进行实验。下图为DN-DETR模型框架图。

在这里插入图片描述

接下来介绍自己的实验过程。
由于DN-DETR也是DETR模型的一部分,所以我们不需要再额外配置conda环境了,使用原本的detr的conda环境即可。
随后要做的就是选择我们需要的模型,修改数据集目录与数据集路径配置即可。
modelname即我们需要选择训练的模型,在DN-DETR中,其提供了四种选择,由于我们是要与DINO的结果做对比,我们直接选择了与DINO模型结果最为接近的dn_dab_deformable_detr

parser.add_argument('--modelname', 
default="dn_dab_deformable_detr", type=str,  
choices=['dn_dab_detr','dn_dab_deformable_detr',                                                                         'dn_dab_deformable_detr_deformable_encoder_only','dn_dab_dino_deformable_detr'])

coco-path即数据集文件地址。

parser.add_argument('--coco_path', default="/home/ubuntu/datasets/",type=str, )

随后我们修改datasets/coco.py中的数据集配置路径。

PATHS = {"train": (root / "images/train2017", root / "annotations" / f'{mode}_train2017.json'),"val": (root / "images/val2017", root / "annotations" / f'{mode}_val2017.json'),}

其实在readme中已经给出了示例,我们按照其要求即可。

python main.py -m dn_dab_detr \--output_dir logs/dn_DABDETR/R50 \--batch_size 1 \--epochs 50 \--lr_drop 40 \--coco_path /path/to/your/COCODIR  # replace the args to your COCO path--use_dn

博主的epoch设置为50,batch-size=2。修改完这些参数后,运行main.py即可。
与所有的DETR模型相同,其在训练时占用的显存极大。

在这里插入图片描述

category names: ['truck', 'car', 'bus']

报错

博主先前在Terminal可以成功运行,但在pycharm中却报如下错误,归根结底是缺失了相应的链接文件。

OSError:
/home/ubuntu/.conda/envs/detr/lib/python3.7/site-packages/nvidia/cublas/lib/libcublas.so.11:
cannot open shared object file: No such file or directory

首先我们切换到/usr/local目录,查看我们的cuda环境,随后ls查看

ubuntu@VM-16-3-ubuntu:~$ cd /usr/local
ubuntu@VM-16-3-ubuntu:/usr/local$ ls
bin  cuda  cuda-11.2  etc  games  include  lib  man  miniconda3  qcloud  sbin  share  src

cuda-11.2即我们的cuda环境文件目录。执行下面的代码即可。

sudo ldconfig /usr/local/cuda-11.2/lib64

再次运行,问题解决。

http://www.lryc.cn/news/45781.html

相关文章:

  • ASP消防网上考试系统设计与实现
  • MongoDB - 数据模型的设计模式
  • 3D格式转换工具助力Shapr3D公司产品实现了 “无障碍的用户体验”,可支持30多种格式转换!
  • 虚拟环境-----virtualenv和pipenv的安装和应用
  • awd pwn——LIEF学习
  • 亚商投资顾问 早餐FM/0330 6G发展持开放态度
  • cookie和session的区别
  • android 人脸考勤机 卡死原因
  • 安装k8s工具之三-kube-ansible
  • 《程序员面试金典(第6版)》面试题 08.09. 括号(回溯算法,特殊的排列问题,C++)
  • 大厂面试篇--2023软件测试八股文最全文档,有它直接大杀四方
  • LeetCode326_326. 3 的幂
  • Redis第九讲 Redis之Hash数据结构Dict字典哈希算法与hash存储过程
  • 2个月月活突破1亿,增速碾压抖音,出道即封神的ChatGPT,现在怎么样了?ChatGPT它会干掉测试?
  • Linux常用文件目录操作指令
  • 阿哈罗诺夫——玻姆效应(AB效应)
  • sed使用
  • redhat9忘记root密码操作(普通用户也适用)
  • Android 五种启动模式小结
  • 算法竞赛ICPC、CCPC、NIO、蓝桥杯、天梯赛
  • 图像分割技术及经典实例分割网络Mask R-CNN(含基于Keras Python源码定义)
  • 元宇宙和医疗保健
  • iOS_从相机或相册里扫描二维码或条形码
  • Python 自动化指南(繁琐工作自动化)第二版:十六、使用 CSV 文件和 JSON 数据
  • knife4j接口文档
  • Windows机器安装SSH搭建,自己搞个局域网机房玩一玩
  • 二叉树的前序遍历(力扣144)
  • 【数据库管理】①实例与数据库
  • vba:单元格的选择,查找,合并,批注,SpecialCells,图形插入
  • 【内网安全】横向移动域控提权NetLogonADCSPACKDC永恒之蓝