Released Chainer/CuPy v5.0.0
We have released Chainer and CuPy v5.0.0 today! This is a major release that introduces several new features.
- Static subgraph optimization (experimental).
By applying the
@static_graphdecorator to the static part of your computation (which uses the same graph at every iteration), the computational graph of that part is cached and reused. Fully-static models speed up by 20-60% in most cases. Example code modified for the static subgraph feature can be found here.
- Float16 support.
Using half-precision floats is made much easier!
Since recent GPU technologies often focus on half and mixed precision computations, using float16 is crucial for fully utilizing the latest hardware performance.
In Chainer v5, the default floating point dtype is configurable via
CHAINER_DTYPEenvironment variable or
config.dtypeentry. Using this feature, most code will be able to use float16 without modification. Many classes and functions are fixed to support float16 inputs and parameters.
- ChainerMN integration.
ChainerMN was an add-on package of Chainer for distributed deep learning,
but is now a built-in module of Chainer v5.
The APIs and the usage are not changed; just install
mpi4pyto start distributed deep learning.
- Probability distributions.
We introduced the
chainer.distributionsmodule that implements many parametric probability distributions with autograd capability. Each distribution provides point-wise evaluation (e.g. log density), statistics computation, and sampling. For its implementation, we also added many GPU sampling routines (under
cupy.random) and special functions (e.g. log-gamma function). While v5 includes many frequently used distributions, we are still expanding this feature for the upcoming releases.
- iDeep 2.0.
Chainer Backend for Intel Architecture, a.k.a. iDeep, is updated.
You can install it with
pip install ideep4py, and use it by setting the environment variable
CHAINER_USE_IDEEP=auto. There are many performance improvements in this version.
- CuPy interoperability with other libraries and ecosystems.
CuPy ndarray can now be easily combined with other libraries.
For more details, see the Interoperability section of the CuPy reference manual.
cupy.fromDLpackcan be used to interchange the array with other deep learning frameworks.
- NumPy: NumPy ufunc is directly applicable to CuPy’s ndarray. For example,
numpy.exp(cupy.arange(3))is valid, which is equivalent to
- Numba: Numba’s JITed CUDA kernel is directly applicable to CuPy ndarrays.
We recommend updating to the latest version of Chainer and CuPy.
You can find the upgrade guide here.
Updating Chainer should be done as usual with the command
pip install -U chainer.
CuPy can be updated in the same way, but be careful to use the appropriate package name if you are using a wheel package (
Chainer is a Python-based, standalone open source framework for deep learning models. Chainer provides a flexible, intuitive, and high performance means of implementing a full range of deep learning models, including state-of-the-art models such as recurrent neural networks and variational autoencoders.
- Released Chainer/CuPy v5.0.0
- ChainerMN on AWS with CloudFormation
- Open source deep learning framework Chainer officially supported by Amazon Web Services
- New ChainerMN functions for improved performance in cloud environments and performance testing results on AWS
- ChainerMN on Kubernetes with GPUs
- Released Chainer/CuPy v4.0.0
- ONNX support by Chainer
- How to use Chainer for Theano users