一、TensorRT支持的模型: TensorRT 直接支持的model有ONNX、Caffe、TensorFlow,其他常見model建議先轉化成ONNX。總結如下: 1 ONNX(.onnx) 2 Keras(.h5) --> ONNX(.onnx) (https://github.com/on ...
一、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 可參考官方指導: