XNOR-Net: 使用二进制卷积神经网络的ImageNet分类

XNOR-Net: 使用二进制卷积神经网络的ImageNet分类

1. 项目介绍

XNOR-Net是一个使用二进制卷积神经网络的ImageNet分类项目。该项目通过将网络权重和激活二值化,实现了在保持较高准确率的同时显著减少计算资源和存储需求。XNOR-Net在ECCV 2016上发表,作者是Mohammad Rastegari、Vicente Ordonez、Joseph Redmon和Ali Farhadi。

2. 项目快速启动

环境准备

  • 安装Lua以及Torch7框架。
  • 确保你有ImageNet数据集。

克隆项目

git clone https://github.com/allenai/XNOR-Net.git
cd XNOR-Net

训练二进制权重网络

th main.lua -data [path to ImageNet dataset] -nGPU 1 -batchSize 128 -netType alexnet -binaryWeight -dropout 0.1

训练XNOR网络

th main.lua -data [path to ImageNet dataset] -nGPU 4 -batchSize 800 -netType alexnetxnor -binaryWeight -optimType adam -epochSize 1500

使用预训练模型

th main.lua -data [path to ImageNet dataset] -retrain [path to the trained model file] -testOnly

3. 应用案例和最佳实践

图像预处理

使用以下预处理步骤来处理图像:

find . -name "*.JPEG" | xargs -I {} convert {} -resize "256^>"

模型准确率

使用上述预处理后,模型的Top-1准确率为:

  • alexnet_BWN: 56.8%
  • alexnet_XNOR: 43.3%

4. 典型生态项目

XNOR-Net作为二值化神经网络的一个示例,可以启发更多对计算资源敏感的应用场景,如移动设备上的实时图像识别。此外,该项目也为其他深度学习框架如TensorFlow和PyTorch实现类似二值化技术提供了参考。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值