ternarynet, 训练的三元网络的实现

分享于 

3分钟阅读

GitHub

  繁體 雙語
Implementation for Trained Ternary Network.
  • 源代码名称:ternarynet
  • 源代码网址:http://www.github.com/czhu95/ternarynet
  • ternarynet源代码文档
  • ternarynet源代码下载
  • Git URL:
    git://www.github.com/czhu95/ternarynet.git
    Git Clone代码到本地:
    git clone http://www.github.com/czhu95/ternarynet
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/czhu95/ternarynet
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    训练的三元量化( TTQ )

    TensorFlow的实现:

    训练的三元量化

    这里实现基于 tensorpack。 多亏了这个框架,这个实现非常容易。

    实验结果:

    CIFAR-10上 Finetuned TTQ ResNet模型的错误率: 网络全精度 TTQ
    ResNet-208.238.87
    ResNet-327.677.63
    ResNet-447.187.02
    ResNet-566.806.44
    从零开始的ImageNet上 TTQ AlexNet模型的错误率: 网络全精度 TTQ
    Top1-error42.842.5
    Top5-error19.720.3

    依赖项:

    • python 2或者 3
    • TensorFlow> = 0.8
    • OpenCV的python 绑定
    • 其他要求:
    
    pip install --user -r requirements.txt
    
    
    pip install --user -r opt-requirements.txt (some optional dependencies, you can install later if needed)
    
    
    
    
    • 尽可能使用 tcmalloc
    • 启用 import tensorpack:
    
    export PYTHONPATH=$PYTHONPATH:`readlink -f path/to/tensorpack`
    
    
    
    

    用法

    • 要使用固定阈值在CIFAR10上训练 ResNet,请执行以下操作:
    
    cd examples/Ternary-Net/
    
    
    python./tw-cifar10-resnet.py --gpu 0,1 [--load MODEL_PATH] [--t threshold] [--n NSIZE]
    
    
    
    

    注意:我们使用个gpu进行训练,使用/examples/ResNet/可以得到pretrained模型

    • 使用固定稀疏性在CIFAR10上列出 ResNet:
    
    cd examples/Ternary-Net/
    
    
    python./p-cifar10-resnet.py --gpu 0,1 [--load MODEL_PATH] [-p sparsity] [--n NSIZE]
    
    
    
    
    • 要使用fiexed阈值在ImageNet上训练 AlexNet,请执行以下操作:
    
    cd examples/Ternary-Net/
    
    
    python./tw-imagenet-alexnet.py --gpu 0,1,2,3 --data IMAGENET_PATH [--t threshold]
    
    
    
    

    注意:我们使用了个gpu来训练

    日志

    在这里可以找到一些训练日志:

    支持

    有关与代码相关的任何问题,请使用 github问题。 向作者发送电子邮件,了解有关纸张的一般问题。

    引用

    如果你在你的研究中使用我们的代码或者模型,请参考:

    
    @article{zhu2016trained,
    
    
     title={Trained Ternary Quantization},
    
    
     author={Zhu, Chenzhuo and Han, Song and Mao, Huizi and Dally, William J},
    
    
     journal={arXiv preprint arXiv:1612.01064},
    
    
     year={2016}
    
    
    }
    
    
    
    

    相关文章