Preferred Networks releases version 5 of both the open source deep learning framework, Chainer and the general-purpose array calculation library, CuPy.
Preferred Networks, Inc. (PFN, President and CEO: Toru Nishikawa) has released Chainer(TM) v5 and CuPy(TM) v5, major updates of PFN’s open source deep learning framework and general-purpose array calculation library, respectively.
In this major upgrade after six months, Chainer has become easier to use after integrating with ChainerMN, which has been provided as a distributed deep learning package to Chainer. The latest v5 will run as-is on most of the code used in previous versions.
Main features of Chainer v5 and CuPy v5 are:
- Integrated with the ChainerMN distributed deep learning package
・With ChainerMN incorporated in Chainer, fast distributed deep learning on multiple GPUs can be conducted more easily.
- Support for data augmentation library NVIDIA(R)
・Chainer v5 performs faster data preprocessing by decoding and resizing of JPEG images on GPUs.
- Support for FP16
・Changing to half-precision floating-point (FP16) format is possible with minimal code changes.
・Reduced memory consumption, which allows larger batch sizes.
・Further speed increases with the use of NVIDIA(R) Volta GPU Tensor Cores.
- Latest Intel(R) Architecture compatibility
・Chainer v5 supports the latest version 2 of Chainer Backend for Intel(R) Architecture (previously, iDeep, which was added to Chainer v4) for faster training and inference on Intel(R) Processors.
- High-speed computing and memory saving for static graphs
・Chainer v5 optimizes computation and memory usage by caching static graphs that do not change throughout training. This speeds up training by 20-60%.
- Enhanced cooperation with Anaconda Numba and PyTorch, enabling the mutual exchange of parallel data
・Added ability to pass a CuPy array directly to a JIT-compiled function by Anaconda Numba.
・DLpack：Array data can be exchanged with PyTorch and other frameworks.
- CuPy basic operations are 50% faster
・Performance of basic operations such as memory allocation and array initialization has improved.
- Chainer Release Note: https://github.com/chainer/chainer/releases/tag/v5.0.0
- CuPy Release Note: https://github.com/cupy/cupy/releases/tag/v5.0.0
- Upgrade Guide：https://docs.chainer.org/en/v5.0.0/upgrade.html
Chainer and CuPy have incorporated a number of development results from external contributors. PFN will continue to quickly adopt the results of the latest deep learning research and promote the development and popularization of Chainer and CuPy in collaboration with supporting companies and the OSS community.
◆ About the Chainer(TM) Open Source Deep Learning Framework
Chainer is a Python-based deep learning framework developed and provided by PFN, which has unique features and powerful performance that allow for designing complex neural networks easily and intuitively, thanks to its “Define-by-Run” approach. Since it was open-sourced in June 2015, as one of the most popular frameworks, Chainer has attracted not only the academic community but also many industrial users who need a flexible framework to harness the power of deep learning in their research and real-world applications.
Chainer quickly incorporates the results of the latest deep learning research. With additional packages such as ChainerRL (reinforcement learning), ChainerCV (computer vision), and Chainer Chemistry（a deep learning library for chemistry and biology）and through the support of Chainer development partner companies, PFN aims to promote the most advanced research and development activities of researchers and practitioners in each field. （http://chainer.org/）