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.
The following is a list of selected updates. Full updates can be found in the release notes: Chainer, CuPy.
- Static subgraph optimization (experimental).
By applying the
@static_graph
decorator 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_DTYPE
environment variable orconfig.dtype
entry. 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
chainer
andmpi4py
to start distributed deep learning. - Probability distributions.
We introduced the
chainer.distributions
module 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 (undercupy.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 variableCHAINER_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.
- DLpack:
ndarray.toDLpack
andcupy.fromDLpack
can 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 tocupy.exp(cupy.arange(3))
. - Numba: Numba’s JITed CUDA kernel is directly applicable to CuPy ndarrays.
- DLpack:
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 (cupy-cuda NN
).
Any feedback to the dev team would be welcomed and appreciated. You can ask questions or leave comments at gitter, Slack, Google Groups, and StackOverflow.
About Chainer
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.
Recent Posts
- Chainer/CuPy v7 release and Future of Chainer
- Chainer/CuPy v7のリリースと今後の開発体制について
- Sunsetting Python 2 Support
- Released Chainer/CuPy v6.0.0
- ChainerX Beta Release
- Released Chainer/CuPy v5.0.0
- ChainerMN on AWS with CloudFormation
- Open source deep learning framework Chainer officially supported by Amazon Web Services
Categories
- General (12)
- Announcement (10)