TensorRT
一、简介
TensorRT 是一个深度学习模型线上部署的优化引擎,即 GPU Inference Engine。Tensor 代表张量,即数据流动以张量的方式,如4维张量 [N, C, H, W]。RT表示 runtime。
一般情况如上图,线下构建网络结构,训练好模型,然后在实际业务中线上部署到对实时性要求较高(latency敏感)的场景,如一般的嵌入式设备,云端等等。实际应用中,可能同时处理几十路摄像头。TensorRT擅长CNN,3.0版本有RNN的API。
二、特性
2.1 特性列举
比一些深度学习框架,有更好的优化和及时性(虽然降低了使用的灵活性,但是有了更好的性能)
支持 custom layer,即用户自定义的神经网络层
利用低精度加速推理 inference,如FP16/INT8
2.2 特性1解释
在inference的阶段神经网络没有了后向传播,模型是固定的了,所以可使得计算图有更好的优化 (graph optimazation)。同时输入输出大小固定了,简化了内存管理 (memory management)。为了实时性,可改用更小的batch size,以减少latency(但是同时GPU的利用率也降低了)。这些方面都可以在TensorRT中得到改进。
2.3 特性2解释