笔记|初步了解TensorRT

1. 什么是TensorRT?

众所周知神经网络在CV等领域有着非常出众的表现,但是现实部署往往面临网络模型inference时间过大等问题,各类加速尤其是针对inference阶段的加速手段被提出。TensorRT是NVIDIA针对神经网络inference阶段提供的加速器。

2. TensorRT 做了哪些优化?

相对于训练过程,网络推断时模型结构及参数都已经固定,batchsize一般较小,对于精度的要求相较于训练过程也较低,这就给了很大的优化空间。具体到TensorRT,主要在一下几个方面进行了优化:

  1. 合并某些层
    有时制约计算速度的并不仅仅是计算量,而是网络对于内存的读写花费太大,TensorRT中将多个层的操作合并为同一个层,这样就可以一定程度的减少kernel launches和内存读写。例如conv和relu等操作一次做完。

另外,对于相同输入及相同filtersize的层会合并为同一层,利用preallocating buffers等消除了concat层

  1. 支持FP16 或者INT8的数据类型
    训练时由于梯度等对于计算精度要求较高,但是inference阶段可以利用精度较低的数据类型加速运算,降低模型的大小

  2. Kernel Auto-Tuning
    TensorRT针对不同的超参数有一写算法层面的优化,比如会根据卷积核的大小、输入大小等超参数确定使用哪种算法进行卷积运算

  3. Dynamic Tensor Memory
    TensorRT经过优化减少内存开销,提高内存的reuse

  4. 多支并行运算
    对于同一输入的多个分支可以进行并行运算

更多请细节就要浏览更专业的官方文档https://developer.nvidia.com/tensorrt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值