最近花了点时间在nvidia jetson agx xavier上部署了yolov5框架,然后将公开的yolov5s.pt模型转成tensorrt,分别在个人笔记本上和agx xavier平台上测试了不同组合下的yolov5s在推理单张图片时的性能表现。
测试图片:
分辨率:1242x375
个人笔记本 vs AGX Xavier配置信息:
架构 | 系统 | CUDA | cudnn | GPU x 1 | 单精度 浮点算力(TFlops) | |
ThinkPad Legion | x86_64 | Ubuntu18.04 | 10.2 | v8.0 | GeForce GTX 1650 | 3 |
AGX Xavier | aarch64 | Ubuntu18.04 | 10.2 | v8.0 | 512-core Volta GPU with Tensor Cores | 2.8 |
使用yolov5s公开模型在个人笔记本和AGX Xavier分别使用yolov5 pytorch和tensoort对单张图片进行推理,萁在gpu下的性能表现如下:
计算平台 | 推理引擎 | 推理时间(测试4次) | 库 |
Thinkpad Legion | Tensorrt | 6ms|6ms|6ms|6ms | ldd yolov5 | egrep -i 'cudnn|nvinfer' libnvinfer.so.7 => /home/zw/zuosi/packages/cuda_10.2/TensorRT-7.1.3.4/lib/libnvinfer.so.7 (0x00007f58f7b17000) libcudnn.so.8 => /usr/local/cuda/lib64/libcudnn.so.8 (0x00007f58f18ba000) |
| Pytorch | 37ms|35ms|33ms|29ms |
|
AGX Xavier | TensorRT | 21ms|22ms|19ms|21ms
| nvidia@localhost:~/zs/diamond_car/yolov5-v4.0/tensorrtx/yolov5/build$ ldd yolov5|egrep -i 'cudnn|nvinfer|cudart' libcudart.so.10.2 => /usr/local/cuda/lib64/libcudart.so.10.2 (0x0000007f8da83000)
libnvinfer.so.7 => /usr/lib/aarch64-linux-gnu/libnvinfer.so.7 (0x0000007fa4d54000) libcudnn.so.8 => /usr/lib/aarch64-linux-gnu/libcudnn.so.8 (0x0000007f9ed69000) |
| Pytorch | 48ms|44ms|44ms|43ms|39ms|39ms|40ms |
|
yolov5(pytorch,gpu)在笔记本和AGX Xavier上推理时间相差不多,但是tensorrt的时间相差很大,why?