如何为我的 GPU 计算 FPS 中的各种模型速度?在暗网中
How to calculate various model speed in FPS for my GPU? In Darknet
我在我的对象检测项目中使用 Darknet。我想创建一个类似的图表:
对于我的 GPU 和各种型号。如何以 FPS 计算模型的速度?
我试过那样做,但我不知道它是否有意义并且是正确的:
我 运行 为我的验证集计算 mAP 并在输出中获取此信息:
因此,如果我的验证集中有 300 张图像,则该模型速度 = 300/28 = 10,71 FPS
是否正确?
是的,但总检测时间包括从磁盘加载图像的时间。如果你有硬盘,这个时间比一些快速模型的检测时间要长。
获得平均速度的一种方法是:
- 将图像转换为暗网格式
- 开始计时器
- 过程图像
- 停止定时器
- 这次平均
请注意,这些功能:https://github.com/AlexeyAB/darknet/blob/master/src/detector.c#L661-L665 需要一些 CPU 时间。如果你想花时间在 GPU 上,应该忽略它。
@Steve Zaretii
感谢您的回答,我问 Darknet 的 AlexeyAB 同样的问题,他告诉我,我的解决方案受 HDD / SDD 磁盘限制。
所以他现在启用了这种模型速度测量的解决方案:
https://github.com/AlexeyAB/darknet/issues/4627
I added -benchmark flag for detector demo, now you can use command 2652263
./darknet detector demo obj.data yolo.cfg yolo.weights test.mp4 -benchmark
But for very fast models the bottleneck will be in the Video Capturing from file/camera, >or in Video Showing (you can disable showing by using -dont_show flag).
我认为这是最好的解决方案,你只需要最新版本的 Darknet(来自 AlexeyAB)。
我在我的对象检测项目中使用 Darknet。我想创建一个类似的图表:
对于我的 GPU 和各种型号。如何以 FPS 计算模型的速度? 我试过那样做,但我不知道它是否有意义并且是正确的:
我 运行 为我的验证集计算 mAP 并在输出中获取此信息:
因此,如果我的验证集中有 300 张图像,则该模型速度 = 300/28 = 10,71 FPS
是否正确?
是的,但总检测时间包括从磁盘加载图像的时间。如果你有硬盘,这个时间比一些快速模型的检测时间要长。
获得平均速度的一种方法是: - 将图像转换为暗网格式 - 开始计时器 - 过程图像 - 停止定时器 - 这次平均
请注意,这些功能:https://github.com/AlexeyAB/darknet/blob/master/src/detector.c#L661-L665 需要一些 CPU 时间。如果你想花时间在 GPU 上,应该忽略它。
@Steve Zaretii
感谢您的回答,我问 Darknet 的 AlexeyAB 同样的问题,他告诉我,我的解决方案受 HDD / SDD 磁盘限制。
所以他现在启用了这种模型速度测量的解决方案: https://github.com/AlexeyAB/darknet/issues/4627
I added -benchmark flag for detector demo, now you can use command 2652263
./darknet detector demo obj.data yolo.cfg yolo.weights test.mp4 -benchmark
But for very fast models the bottleneck will be in the Video Capturing from file/camera, >or in Video Showing (you can disable showing by using -dont_show flag).
我认为这是最好的解决方案,你只需要最新版本的 Darknet(来自 AlexeyAB)。