Yolov4-TensorRT8.2速度与显存记录表
精度 | 模式 | 图像尺寸 | 类别数 | 批次 | 线程数 | 推理时间 | 完整处理时间 | 显存 |
---|---|---|---|---|---|---|---|---|
FP32 | 20W 2CORE | 512*512 | 3 | 1 | 1 | 100ms | 110ms | 2.6G |
FP32 | 20W 2CORE | 512*512 | 3 | 1 | 2 | 100ms | 111ms | 3.8G |
FP16 | 20W 2CORE | 512*512 | 3 | 1 | 1 | 37ms | 46ms | 1.7G |
FP16 | 20W 2CORE | 512*512 | 3 | 1 | 2 | 38ms | 48ms | 2.1G |
说明:
1.模式是指Jetson设备的功耗模式,对于本人的Jetson XAVIER NX来说,总共有8种模式,如果想达到最大推理速度的话,选择20W 2CORE模式。在主界面的右上角有个MODE的选择,选择20W 2CORE模式即可。
(本人选择20W 6CORE测试下来跟20W 2CORE差不多,只快了1ms,所以选择20W 2CORE即可)
2.推理时间是指平均每张图进行doInference(即执行cudaMemcpyAsync)所需要的推理时间。
完整处理时间推理时间加上前处理与后处理时间。
3.对于Jetson设备来说,CPU和GPU共用,所以显存就是内存。对于Jetson XAVIER NX来说内存总共8G。
而查看的方式不能直接使用nvidia-smi的命令行,必须安装jetson-stats。
具体操作方式可参考以下博客。
Jetson设备上查看显存(内存)——jetson-stats
4.为什么本人会有8个模式,而且这个系统下的TensorRT是8.2.1.8版本,不是7版本,猜测原因是在最初烧录系统的时候使用的镜像是比较新的。
而且相比TensorRT7版本,在FP32模式下速度快了近20ms,在FP16模式下快了5~10ms,具体可以看本人之前的博客。
Jetson XAVIER NX上yolov4-TensorRT7速度与显存记录表(后续不断补充)
5.本人是将onnx模型转化为engine模型,yolov4的onnx模型在FP16模式下转化为engine模型的时间比较漫长,在之前的TensorRT7版本需要49分钟,在TensorRT8.2版本下需要10分钟。
也由此可见TensorRT8在序列化模型时做了一定的加速处理。