深度学习训练调参深度学习项目实践集

深度学习工业界应用-加速-预测

2017-06-03  本文已影响335人  skywalker

一. BMXNET要解决的问题

在神经网络实际部署预测时需要做很多的优化,比如:

优化的最终目标是1)更小的模型大小 2)更少的计算量(功耗)

二. 方法

现有方法:
tensorflow量化的方案是将weight 从float32降低到int8的精度
BNN:存储二值化的weight,使用xnor和popcount来代替全连接和cnn中的矩阵乘法,BMXNET实现了类似方法

三. 实现

BMXNET实现了activation, convolution 和fully connected layer的operator
工程上
在x86 cpu上使用SSE4.2提供的加速
在arm上使用了NEON加速
使用OpenMP并行化加速
一个lenet的网络symbols对比

网络结构对比
说明:
不在第一层和最后一层使用量化网络,这会显著减低准确率

四. 效果

模型变小,速度变快,精度变化不大
ResNet-18 全精度的模型大小是44.7MB. 二值化后是1.5MB,压缩比大约是29
精度损失在0.02-0.04之间

精度&模型大小对比 cnn layer运算加速比
上一篇下一篇

猜你喜欢

热点阅读