Chainer Explained

Chainer
Author:Seiya Tokui
Developer:Community, Preferred Networks, Inc.
Released:.[1] [2]
Programming Language:Python
Platform:cross-platform
Language:Python
Genre:Deep learning library
License:MIT

Chainer is an open source deep learning framework written purely in Python on top of NumPy and CuPy Python libraries. The development is led by Japanese venture company Preferred Networks in partnership with IBM, Intel, Microsoft, and Nvidia.[3] [4] [5] [6]

Chainer is notable for its early adoption of "define-by-run" scheme, as well as its performance on large scale systems. The first version was released in June 2015 and has gained large popularity in Japan since then. Furthermore, in 2017, it was listed by KDnuggets in top 10 open source machine learning Python projects.[7]

In December 2019, Preferred Networks announced the transition of its development effort from Chainer to PyTorch and it will only provide maintenance patches after releasing v7.[8]

Define-by-run

Chainer was the first deep learning framework to introduce the define-by-run approach.[9] [10] The traditional procedure to train a network was in two phases: define the fixed connections between mathematical operations (such as matrix multiplication and nonlinear activations) in the network, and then run the actual training calculation. This is called the define-and-run or static-graph approach. Theano and TensorFlow are among the notable frameworks that took this approach. In contrast, in the define-by-run or dynamic-graph approach, the connection in a network is not determined when the training is started. The network is determined during the training as the actual calculation is performed.

One of the advantages of this approach is that it is intuitive and flexible.[11] If the network has complicated control flows such as conditionals and loops, in the define-and-run approach, specially designed operations for such constructs are needed. On the other hand, in the define-by-run approach, programming language's native constructs such as if statements and for loops can be used to describe such flow. This flexibility is especially useful to implement recurrent neural networks.[12] [13]

Another advantage is ease of debugging. In the define-and-run approach, if an error (such as numeric error) has occurred in the training calculation, it is often difficult to inspect the fault, because the code written to define the network and the actual place of the error are separated. In the define-by-run approach, you can just suspend the calculation with the language's built-in debugger and inspect the data that flows on your code of the network.

Define-by-run has gained popularity since the introduction by Chainer and is now implemented in many other frameworks, including PyTorch[14] and TensorFlow.

Extension libraries

Chainer has four extension libraries, ChainerMN, ChainerRL, ChainerCV and ChainerUI. ChainerMN enables Chainer to be used on multiple GPUs with performance significantly faster than other deep learning frameworks. A supercomputer running Chainer on 1024 GPUs processed 90 epochs of ImageNet dataset on ResNet-50 network in 15 minutes, which is four times faster than the previous record held by Facebook.[15] [16] ChainerRL adds state of art deep reinforcement learning algorithms, and ChainerUI is a management and visualization tool.

Applications

Chainer is used as the framework for PaintsChainer, a service which does automatic colorization of black and white, line only, draft drawings with minimal user input.[17] [18]

See also

Notes and References

  1. Web site: Big-in-Japan AI code 'Chainer' shows how Intel will gun for GPUs. 2017-04-07. The Register. 2017-12-24.
  2. News: Deep Learning のフレームワーク Chainer を公開しました. 2015-06-09. 2017-12-24. ja-JP.
  3. Web site: Chainer Homepage. 2017-12-24.
  4. Web site: IBM Wants to be "Red Hat" of Deep Learning. 2017-01-26. HPCwire. 2017-09-08.
  5. News: Intel Collaborating with Preferred Networks in Japan on Deep Learning. 2017-04-06. 2017-12-24.
  6. News: Microsoft partners with Preferred Networks to bring Chainer deep learning technology to Azure - MSPoweruser. 2017-05-23. MSPoweruser. 2017-09-08. en-US.
  7. Web site: Top 20 Python Machine Learning Open Source Projects. KDnuggets. 2017-11-24.
  8. Web site: Preferred Networks Migrates its Deep Learning Research Platform to PyTorch. 2019-12-05. Preferred Networks, Inc.. en-US. 2019-12-27.
  9. Tokui. Seiya. Oono. Kenta. Hido. Shohei. Clayton. Justin. 1. Chainer: a next-generation open source framework for deep learning. 29th Annual Conference on Neural Information Processing Systems (NIPS). 2015. 5.
  10. Book: Shimada. Naoki. Deep Learning with Chainer. September 14, 2017. Gijutsu-Hyohron. 4774191868. 61.
  11. Web site: Eager Execution: An imperative, define-by-run interface to TensorFlow. Google Research Blog.
  12. Web site: Deep Learning With Dynamic Computation Graphs (ICLR 2017). Metadata.
  13. Web site: Hido . Shohei . Complex neural networks made easy by Chainer . O'Reilly Media . 26 June 2018 . en . 8 November 2016.
  14. Web site: Perez. Carlos E.. PyTorch, Dynamic Computational Graphs and Modular Deep Learning. Medium. 20 January 2017.
  15. Web site: pdf. Extremely Large Minibatch SGD: Training ResNet-50 on ImageNet in 15 Minutes. 2017-12-24.
  16. Web site: Greene. Tristan. Facebook’s nerds bested by Japan’s in the race to train AI. The Next Web. 24 November 2017. 20 November 2017.
  17. Web site: This neural network-based software will add colour to your drawings for free. Know. Now You. 2017-02-15. Techly. 2017-09-08.
  18. News: Drawing app "pixiv Sketch" and automatic coloring service "PaintsChainer" collaborate to provide a new function for automatic coloring of illustrations!. 2017-05-24. 2017-12-24.