转换工具
一键转换 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主要做了这么两件事情,来提升模型的运行速度。
(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