Tensorrt+PyTorch+Win10部署

TensorRT双线性上采样

TensorRT模型加速部署方案解析(视频/案例讲解)
【TENSORRT】——双线性上采样插件(提供源码)
tensorrt加速enet
上采样和下采样_TensorRT-upsample(上采样)
TensoRT学习——group conv与depthwise_conv
[TensorRT] 对UNet进行推理加速
在PyTorch中有两种差值方法,一种是Upsample,另一种是interpolate

动态batch

随着batch增加,推理时间也增加
【tensorrt】——trtexec动态batch支持与batch推理耗时评测

TensorRT提供了两种方式进行网络的部署

  1. 各种parser(如caffeparser、uffparser和onnxparser)对网络模型进行解析与转换;
  2. 利用TensorRT的api将模型进行重写。
  • 推理的基本步骤
    1:创建runtime
    2:反序列化创建engine
    3:创建context
    4:获取输入输出索引
    5:创建buffers
    6:为输入输出开辟GPU显存
    7:创建cuda流
    8:从CPU到GPU----拷贝input数据
    9:异步推理
    10:从GPU到CPU----拷贝output数据
    11:同步cuda流
    12:释放资源

Tensorrt和cuda版本要对应,不然报错

比如tensorrt 6对应cuda10.0

VS2019中设置DLL路径的方法

方法1:配置属性->调试->环境:输入path=包含dll文件的文件夹路径,注意path(空格)=路径、path=(空格)路径、path(空格)=(空格)路径等写法都会导致dll引用失败。
方法2:将dll文件拷贝到生成的.exe所在的文件夹中
方法3:配置属性->调试->工作目录:包含dll文件的文件夹路径
方法4:配置属性->常规->输出目录:包含dll文件的文件夹路径

解决vs2019属性管理器里面没有Microsoft.Cpp.x64.user

Tensorrt 8中EA和GA

EA 版本代表抢先体验(在正式发布之前)。
GA 代表通用性。 表示稳定版,经过全面测试。
Tensorrt+PyTorch+Win10部署_第1张图片

cuBLAS与cuDNN

  • cuBLAS是CUDA专门用来解决线性代数运算的库,分为三个级别:Lev1向量乘向量、Lev2矩阵乘向量、Lev3矩阵乘矩阵。CUDA自带cuBLAS库,无需独立安装。头文件include “cublas_v2.h”。
  • cuDNN是CUDA专门用来解决神经网络加速的库,速度快、内存开销低。cuDNN可以方便的集成到更高级别的机器学习框架中(PyTorch、Tensorflow)。需要独立安装。头文件include “cudnn.h”
  • cuDNN支持常用神经网络组件
    Convolution forward and backward, including cross-correlation
    Matrix multiplication
    Pooling forward and backward
    Softmax forward and backward
    Neuron activations forward and backward: relu, tanh, sigmoid, elu, gelu, softplus, swish
    Arithmetic, mathematical, relational and logical pointwise operations
    Tensor transformation functions
    LRN, LCN and batch normalization forward and backward

TensorFlow的动态库必须都加载成功才能在GPU上训练,不然只能在CPU上运行

Tensorrt+PyTorch+Win10部署_第2张图片

C++报错变量被优化,解决办法配置中优化禁用

Tensorrt+PyTorch+Win10部署_第3张图片

你可能感兴趣的:(深度学习,pytorch,计算机视觉,人工智能)