20220420 tensorrt优化 onnxruntime NCNN openvino dnn

转换工具

一键转换 Caffe, ONNX, TensorFlow 到 NCNN, MNN, Tengine (convertmodel.com)

1、letterbox

深度学习模型输入图片的尺寸为正方形,而数据集中的图片一般为长方形,粗暴的resize会使得图片失真,采用letterbox可以较好的解决这个问题。该方法可以保持图片的长宽比例,剩下的部分采用灰色填充。

 2、normalize

在深度学习中,通常在模型训练前都会对图像进行归一化处理,而对图像进行归一化处理是将特征值大小调整到相近的范围,不归一化处理时,如果特征值较大时,梯度值也会较大,特征值较小时,梯度值也会较小。在模型反向传播时,梯度值更新与学习率一样,当学习率较小时,梯度值较小会导致更新缓慢,当学习率较大时,梯度值较大会导致模型不易收敛,因此为了使模型训练收敛平稳,对图像进行归一化操作,把不同维度的特征值调整到相近的范围内,就可以采用统一的学习率加速模型训练,具体公式如下:

式中,output 为图像像素值输出,input 为图像像素值输入,max 与 min 为最大像素值与最小像素值,经过归一化处理,将像素值调整到(0,1)区间。

 3、imagetotensor

转换张量

4、onnx  r

tensorrt在那些地方做了优化:

TensorRT教程1:优化原理_米斯特龙_ZXL的博客-CSDN博客

5、nms

6、欧式距离  余弦距离

推荐算法原理(二)欧几里得距离计算物品间相似度 - 知乎

onnx:

(178条消息) ONNX简明教程_Ericam_的博客-CSDN博客_onnx

onnxruntime:

[ONNX从入门到放弃] 5. ONNXRuntime概述 - 知乎 (zhihu.com)

tensorrt:

tensorRT是一个只有前向传播的深度学习框架,这个框架可以将 Caffe,TensorFlow的网络模型解析,然后与tensorRT中对应的层进行一一映射,把其他框架的模型统一全部 转换到tensorRT中,然后在tensorRT中可以针对NVIDIA自家GPU实施优化策略,并进行部署加速。

TensorRT的核心就是一个深度学习的高性能C++的推理库, 基本适配主流的训练框架,如Tensorflow, Caffe, Pytorch, MXNet。

TensorRT下的模型是在做什么?

TensorRT只负责模型的推理(inference)过程,一般不用TensorRT来训练模型的哈。

TensorRT能加速模型吗?

能!根据官方文档,使用TensorRT,在CPU或者GPU模式下其可提供10X乃至100X的加速。本人的实际经验中,TensorRT提供了20X的加速。

TensorRT为什么能提升模型的运行速度?

TensorRT是英伟达针对自家平台做的加速包,TensorRT主要做了这么两件事情,来提升模型的运行速度。

  1. TensorRT支持INT8和FP16的计算。深度学习网络在训练时,通常使用 32 位或 16 位数据。TensorRT则在网络的推理时选用不了这么高的精度,达到加速推断的目的。
  2. TensorRT对于网络结构进行了重构,把一些能够合并的运算合并在了一起,针对GPU的特性做了优化。现在大多数深度学习框架是没有针对GPU做过性能优化的,而英伟达,GPU的生产者和搬运工,自然就推出了针对自己GPU的加速工具TensorRT。一个深度学习模型,在没有优化的情况下,比如一个卷积层、一个偏置层和一个reload层,这三层是需要调用三次cuDNN对应的API,但实际上这三层的实现完全是可以合并到一起的,TensorRT会对一些可以合并网络进行合并。我们通过一个典型的inception block来看一看这样的合并运算。

(178条消息) TensorRT介绍_陶将的博客-CSDN博客_tensorrt

(203条消息) YOLOv5 Tensorrt Python/C++部署_一笑奈何LHY的博客-CSDN博客_yolov5 tensorrt

GitHub - wang-xinyu/tensorrtx: Implementation of popular deep learning networks with TensorRT network definition API

# tensorrtx安装配置,yolov5,c++部署 

【动手学深度学习(二)】Yolov5-TensorRT的配置与部署 - 知乎 (zhihu.com)

# 口罩实战 ,部署

Mask_Detector/Yolo at master · Doctor-James/Mask_Detector · GitHub

tensorrt优化:

(215条消息) TensorRT教程1:优化原理_米斯特龙_ZXL的博客-CSDN博客_tensorrt 优化

(215条消息) TensorRT模型加速 | 网络结构优化 | 低精度推理_一颗小树x的博客-CSDN博客_网络结构优化

tensorrt安装:

1、pip install .whl

你可能感兴趣的:(python,1024程序员节)