lyuwenyu / RT-DETR

[CVPR 2024] Official RT-DETR (RTDETR paddle pytorch), Real-Time DEtection TRansformer, DETRs Beat YOLOs on Real-time Object Detection. 🔥 🔥 🔥

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

关于不同GPU上推理时间的一些问题...

Sssssd opened this issue · comments

作者大大你好,关于RTDETR的推理时间,我有一些疑问...

我在3块不同的显卡上(分别是4090, T4, 3050 Laptop)都测试过RTDETR-R18转tensorrt后的推理时间,并与按照Benchmark中的方法添加NMS后的YOLOv8s进行了比较,转换相关的参数都是默认的,并且测速用的是trtexec。

我的测速结果,在4090上,RTDETR-R18的GPU Compute Time平均为1.065ms,而YOLOv8s平均为1.90ms,比较符合论文中的结果的比值。但是在T4上,RTDETR-R18的GPU Compute Time平均为5.6ms,而YOLOv8s仅为5.4ms,按理说YOLOv8s应该更高才对吧.......而在3050 LapTop上,RTDETR-R18的速度更加慢了...比YOLOv8s多了快2ms。我有点不太清楚其中的缘由......请问作者大大是否能够帮忙解答一下疑问,谢谢!

我同样使用过trtinfer.py进行测速(但不是在COCO数据集上,是用的我自己数据集的图片),并且目标较少的图片以及较为密集的图片都使用过,结果跟上述trtexec的结果相差并不大...

测yolo的时候后处理时间算了嘛 并且保证是他们报告中mAP条件下的参数,( 我们在t4 v100 2080ti上都测试过的 结果是符合预期的

测yolo的时候后处理时间算了嘛 并且保证是他们报告中mAP条件下的参数,( 我们在t4 v100 2080ti上都测试过的 结果是符合预期的

请问测YOLO的时候后处理时间是需要单独算的嘛,我以为YOLO中已经插入了NMS的模块就已经把后处理的时间包含进去了,NMS的参数就是benchmark中默认的参数,conf为0.001,IoU为0.7,box数量为300

就是nms的时间,可以再确认一下不同机器上的软件版本 rtdetr里算子的种类要大于yolov8的 不同版本软件对op的支持情况是不太一样的

就是nms的时间,可以再确认一下不同机器上的软件版本 rtdetr里算子的种类要大于yolov8的 不同版本软件对op的支持情况是不太一样的

我在T4上的测速就是前两天新租了一个服务器,然后按照您requirements.txt中的要求配了环境,然后TensorRT也是最新的版本,应该不是软件版本的问题吧....

另外 yolo测试速度的话 我们给的速度是在val2017 5000张图上的平均值 ( 因为nms的速度和score_thr过滤之后的数量有关系 这样会导致每张图的端到端速度不一样

@Sssssd 你好,我想了解一下你用单张4090训练要花费多长时间

@Sssssd 你好,我想了解一下你用单张4090训练要花费多长时间

将近一万张图片,大概一天半这样吧

请问作者大大,我在pytorch版本测速,4090单卡,速度只有28fps,为什么推理速度相差这么多

commented

作者大大你好,关于RTDETR的推理时间,我有一些疑问...

我在3块不同的显卡上(分别是4090, T4, 3050 Laptop)都测试过RTDETR-R18转tensorrt后的推理时间,并与按照Benchmark中的方法添加NMS后的YOLOv8s进行了比较,转换相关的参数都是默认的,并且测速用的是trtexec。

我的测速结果,在4090上,RTDETR-R18的GPU Compute Time平均为1.065ms,而YOLOv8s平均为1.90ms,比较符合论文中的结果的比值。但是在T4上,RTDETR-R18的GPU Compute Time平均为5.6ms,而YOLOv8s仅为5.4ms,按理说YOLOv8s应该更高才对吧.......而在3050 LapTop上,RTDETR-R18的速度更加慢了...比YOLOv8s多了快2ms。我有点不太清楚其中的缘由......请问作者大大是否能够帮忙解答一下疑问,谢谢!

我同样使用过trtinfer.py进行测速(但不是在COCO数据集上,是用的我自己数据集的图片),并且目标较少的图片以及较为密集的图片都使用过,结果跟上述trtexec的结果相差并不大...

你好,有点羞愧,想问个非常简单的问题,这个trtinfer.py文件是怎么用的,在trtexec命令后面当作参数吗

@NeKoooo233 我是网上找的一份代码,你可以百度一下RTDETR部署相关的内容,应该有一篇知乎的文章,里面有使用trtinfer的代码