• 深度学习模型在训练阶段,为了保证其反向传播,每次梯度的更新是很微小的,这时候需要相对较高的精度,一般来说需要float型,如FP32
  • 模型推理(Inference)只有前向计算,无需回传,因此可以使用低精度技术,如FP16、INT8、甚至是Bit(0和1),其推理结果没有特别大的精度损失。使用低精度数据使得模型需要空间减少,计算速度加快。
  • 优化推理引擎TensorRT只能用来做Inference(推理),不能用来进行train。
  • 使用TensorRT,无需在部署硬件上安装并运行深度学习框架。

TensorRT

TensorRT 的核心是一个 C++ 库,可促进对 NVIDIA 图形处理单元 (GPU) 的高性能推理。它旨在与 TensorFlow、PyTorch、MXNet 等训练框架以互补方式工作。

TensorRT 通过组合层和优化内核选择来优化网络,以改善延迟、吞吐量、电源效率和内存消耗。通过程序指定,它会优化网络以较低的精度运行,从而进一步提高性能并减少内存需求。

TensorRT 上主要存在以下几个对象

  • builder:构建器。搜索cuda内核目录以获得最快的可用实现,必须使用和运行时的GPU相同的GPU来构建优化引擎。在构建引擎时,TensorRT会复制权重。创建 config、network、engin

本站无任何商业行为
个人在线分享 » tensorRT 实现推理加速(算子合并、量化)
E-->