1.TensorRT是什么
TensorRT: GPU Inference Engine(简称GIE)
2.推断(Inference)可以做什么?
-
推断(Inference)的网络权值已经固定下来,无后向传播过程,因此可以:
(1)模型固定,可以对计算图进行优化(2) 输入输出大小固定,可以做memory优化
-
推断(Inference)可以使用低精度的技术,另一方面是模型需要的空间减少,不管是权值的存储还是中间值的存储,应用更低的精度,模型大小会相应减小。
3.推断(Inference)可以在哪些方面优化?
第一,也是最重要的,它把一些网络层进行了合并。
第二,比如在concat这一层,可以取消掉。
第三,Kernel可以根据不同的batch size 大小和问题的复杂程度,去选择最合适的算法,TensorRT预先写了很多GPU实现,有一个自动选择的过程。
第四,不同的batch size会做tuning。
第五,不同的硬件如P4卡还是V100卡甚至是嵌入式设备的卡,TensorRT都会做优化,得到优化后的engine。