使用TensorRT加速yolo3
一、TensorRT支持的模型:
TensorRT 直接支持的model有ONNX、Caffe、TensorFlow,其他常见model建议先转化成ONNX。总结如下:
1 ONNX(.onnx)
2 Keras(.h5) --> ONNX(.onnx) (https://github.com/onnx/keras-onnx)
3 Caffe(.caffemodel)
4 Darknet(.cfg) --> ONNX(.onnx) (Our tutorial : yolo-v3)
5 TensorFlow(.uff)
二、TensorRT支持的常见运算:
Activation(激活函数)、Convolution(卷积运算)、Deconvolution(反卷积运算)、FullConnected(全连接)、Padding(填充)、Pooling(池化)、RNN(递归神经网络)、SoftMax()等。
更详细的API可参考:
三、TensorRT加速yolo3:
yolo3由CNN网络和detection模块组成,TensorRT只对CNN网络进行Inference加速。即:
TensorRT input is:608*608 image
TensorRT output is:array
(array[0].shape = 255 *19*19、
array[1].shape = 255*38*38、
array[2].shape = 255 *76*76)
具体实现过程:
1 Darknet(.cfg) --> ONNX(.onnx)
2 ONNX(.onnx) --> TensorRT model(.trt)
3 TensorRT加速CNN部分,执行detection模块得到最终结果。
pytorch-yolo3:https://github.com/ayooshkathuria/pytorch-yolo-v3
本项目地址:https://github.com/Cw-zero/TensorRT_yolo3
(注:本项目是对pytorch-yolo3进行改写加速的)
四、性能比较:
--------------------------------------------end~我是可爱的分割线~--------------------------------------
More about TensorRT 可参考官方指导:
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步