借助英特尔® 优化 Chainer* 管理深度学习网络

总结

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) URLBibTex

 

更多信息

 

 

有关编译器优化的更完整信息,请参阅优化通知