BMXNet:基于MXNet的开源二值神经网络实现


论文地址:https://arxiv.org/abs/1705.09864

摘要:二值神经网络(BNN)能够极大地减少存储的大小,并通过按位运算(bit-wise operations)而非标准的算术运算就能获取。因此,它能极大地改进运行时的效率以及能耗,使得在低能量的设备上应用顶尖的深度学习模型成为可能。BMXNet 是一个开源的基于 MXNet 的二值神经网络库(BNN library),支持 XNOR-Network 和 Qantized Neural Networks。无论是 GPU 模式还是 CPU 模式,开发出的 BNN 能够无缝地应用到其他标准的库组件上。BMXNet 由 Hasso Planer Institute 的多个研究团队维持、开发,并在 Apache 许可下发布。大量的实验验证了其实现的效率与效用。该 BMXNet 库、数个样本项目以及预训练二值深度模型的集合,都可在 https://github.com/hpi-xnor 中下载。

BMXNet 项目地址:https://github.com/hpi-xnor/BMXNet


图 1:GEMM 方法处理时间对比


图 2:通过不同的卷积层过滤数量基于朴素 GEMM 方法的加速比。输入信道(channel)大小固定为 256,而 kernel 和 batch 的大小分别设定为 5x5 和 200。


图 3:通过不同的卷积层的 kernel 大小基于朴素 GEMM 方法的加速比。输入信道大小设定为 256,batch 大小和过滤数量分别为 200 和 64。


表 1:在 MNIST 和 CIFAR-10 数据集上训练的二值和全精度模型的分类准确率。未使用任何预训练或数据增强。


表 2:在 ImageNet 数据集上训练的二值网络、部分二值化网络、全精度模型的分类准确率。实验中使用的是 ResNet-18 架构。

理论亚马逊MXNet工程论文ImageNet
返回顶部