32.1 模型优化加速方法
- 模型优化加速能够提升网络的计算效率,具体包括:
- Op-level的快速算法:FFT Conv2d (7x7, 9x9), Winograd Conv2d (3x3, 5x5) 等;
- Layer-level的快速算法:Sparse-block net [1] 等;
- 优化工具与库:TensorRT (Nvidia), Tensor Comprehension (Facebook) 和 Distiller (Intel) 等;
32.2 TensorRT加速原理
- 在计算资源并不丰富的嵌入式设备上,TensorRT之所以能加速神经网络的的推断主要得益于两点:
- 首先是TensorRT支持int8和fp16的计算,通过在减少计算量和保持精度之间达到一个理想的trade-off,达到加速推断的目的。
- 更为重要的是TensorRT对于网络结构进行了重构和优化,主要体现在一下几个方面。
- TensorRT通过解析网络模型将网络中无用的输出层消除以减小计算。
- 对于网络结构的垂直整合,即将目前主流神经网络的Conv、BN、Relu三个层融合为了一个层,例如将图1所示的常见的Inception结构重构为图2所示的网络结构。
- 对于网络结构的水平组合,水平组合是指将输入为相同张量和执行相同操作的层融合一起,例如图2向图3的转化。