全称:Quantized Neural Network PACKage(量化神经网络包)
- 开源时间:2018年10月
- 开源用户:Facebook
- GitHub地址:https://github.com/pytorch/QNNPACK
45.1 特点:
- 低密度卷积优化函数库;
- 可在手机上实时运行Mask R-CNN 和 DensePose;
- 能在性能受限的移动设备中用 100ms 以内的时间实施图像分类;
45.2 QNNPACK 如何提高效率?
- QNNPACK 使用与安卓神经网络 API 兼容的线性量化方案
- QNNPACK 的输入矩阵来自低精度、移动专用的计算机视觉模型
- 其它库在计算A和B矩阵相乘时,重新打包 A 和 B 矩阵以更好地利用缓存层次结构,希望在大量计算中分摊打包开销,QNNPACK 删除所有计算非必需的内存转换,针对 A和B矩阵相乘适用于一级缓存的情况进行了优化。
- 优化了L1缓存计算,不需要输出中间结果,直接输出最终结果,节省内存带宽和缓存占用
- 常规实现:在量化矩阵-矩阵乘法中,8位整数的乘积通常会被累加至 32 位的中间结果中,随后重新量化以产生 8 位的输出
-
<
- 常规实现:在量化矩阵-矩阵乘法中,8位整数的乘积通常会被累加至 32 位的中间结果中,随后重新量化以产生 8 位的输出