总结
Chainer 是基于 Python 的深度学习框架,旨在提高灵活性和直观性。它可根据 define-by-run 方法(亦称动态计算图)提供自动差异化 API,并提供面向对象的高级别 API,以构建和训练神经网络。它支持各种网络架构,包括前馈网络、卷积网络、循环网络和递归网络。它还支持 per-batch 架构。正演计算可包含 Python 的所有控制流声明,完全具备反向传播能力。它可使代码更加直观,并易于调试。英特尔® 优化 Chainer* 目前集成了最新版面向深度神经网络的英特尔® 数学核心函数库 (英特尔® MKL-DNN) 2017,专门面向高级矢量扩展指令集 AVX-2 和 AVX-512 指令优化,英特尔® 至强® 处理器和英特尔® 至强融核™ 处理器等支持这些指令集。
推荐环境
我们建议使用这些分发版 Linux。
- Ubuntu 14.04/16.04 LTS 64 位
- CentOS 7 64 位
可使用以下 Python 版本:
- 2.7.5+、3.5.2+ 和 3.6.0+
上述建议使用的环境经过测试。我们无法保证英特尔® 优化 Chainer* 适用于其他环境,包括 Windows 和 macOS,即使英特尔® 优化 Chainer* 运行看似正确。
关联组件
如果使用的是旧版设置工具,我们建议在安装英特尔® 优化 Chainer* 之前进行升级:
$ pip install -U setuptools
安装英特尔® 优化 Chainer* 时需要使用以下软件包。
- NumPy 1.9, 1.10, 1.11, 1.12, 1.13
- Six 1.9+
- Swig 3.0.9+
映像数据集支持
- pillow 2.3+
HDF5 序列化支持
- h5py 2.5+
测试实用程序
- pytest 3.2.5+
英特尔® MKL-DNN
- 大家无需手动安装英特尔® MKL-DNN,安装英特尔® 优化 Chainer* 时,系统将自动下载和构建英特尔® MKL-DNN,因此也需要使用 boost、glog 和 gflags。
安装
大家可以使用 setup.py 通过 tarball 安装英特尔® 优化 Chainer*:
$ python setup.py install
使用 pip 卸载 Chainer:
$ pip uninstall chainer
使用 Docker 运行
我们分别根据 python2 和 python3 提供面向 Ubuntu 和 Centos 的 Docker 映像和 Dockerfile。详情请见如何构建和运行英特尔® 优化 Chainer* Docker 映像。
培训示例
使用 mnist 数据集训练测试:
$ cd examples/mnist $ python train_mnist.py -g -1
使用 cifar 数据集训练测试:
- 运行 CIFAR-100 数据集:
$ cd examples/cifar $ python train_cifar.py –g -1 --dataset='cifar100'
- 运行 CIFAR-10 数据集:
$ cd examples/cifar $ python train_cifar.py –g -1 --dataset='cifar10'
单节点性能测试配置
单节点性能测试配置请查看https://github.com/intel/chainer/wiki/Intel-Chainer-Single-Node-Performance-Test-Configurations
许可证
MIT 许可证(参考许可证文件)。
参考文献
Tokui, S., Oono, K., Hido, S. and Clayton, J., Chainer: a Next-Generation Open Source Framework for Deep Learning, Proceedings of Workshop on Machine Learning Systems(LearningSys) in The Twenty-ninth Annual Conference on Neural Information Processing Systems (NIPS), (2015) URL, BibTex
更多信息