如何部署二进制神经网络?

时间:2017-04-20 13:35:03

标签: machine-learning neural-network deep-learning

我遇到了各种精彩的论文,如https://arxiv.org/abs/1603.05279 https://arxiv.org/abs/1602.02830 显示二进制化神经网络如何减少模型大小并缩短执行时间。但是,此处发布的研究代码https://github.com/allenai/XNOR-Net和此处https://github.com/itayhubara/BinaryNet在内部将二进制权重表示为float数据类型(只是值限制为二进制)。我想知道是否有任何框架提供有效推理(运行时内存和速度)的实现。我似乎没有在像tensorflow和torch7这样的流行框架中找到任何模块。

1 个答案:

答案 0 :(得分:1)

如果您想更深入地了解二进制化网络的GPU内核,那么这个Theano项目是相关的:https://github.com/MatthieuCourbariaux/BinaryNet/tree/master/Run-time

Neon支持在此提交中引入的一些按位层:https://github.com/NervanaSystems/neon/commit/caf0aaaaa1438b09c905e0780ba1120c6fd25f1c

至于Tensorflow,你应该对问题主题#1592

保持谨慎

另外,您可能有兴趣阅读“Bitwise神经网络”Minje Kim,Paris Smaragdis。