Deep Learning

Chainer – framework for neural networks

Chainer is a Python-based open source deep learning framework aiming at flexibility.

It provides automatic differentiation APIs based on the define-by-run approach (a.k.a. dynamic computational graphs) as well as object-oriented high-level APIs to build and train neural networks. It also supports CUDA/cuDNN using CuPy for high performance training and inference.

Chainer’s seeks to provide a different perspective – it lets you build the computational graph “on-the-fly” during training.

Chainer is cited in many academic papers not only for computer vision, but also speech processing, natural language processing, and robotics.

Key Features

  • Chainer is developed in Python, allowing for inspection and customization of all code in Python and understandable python messages at run time.
  • Supports CUDA computation. It only requires a few lines of code to leverage a GPU. It also runs on multiple GPUs. It includes a GPU-based numerical computation library named CuPy. CuPy is a NumPy-equivalent array backend for GPUs included in Chainer, which enables CPU/GPU-agnostic coding, just like NumPy-based operations. NumPy based syntax for working with arrays, thanks to CuPy implementation
  • Broad and deep support – Chainer is actively used for most of the current approaches for neural nets (CNN, RNN, RL, etc.), adds new approaches as they’re developed.
  • Provides imperative ways of declaring neural networks by supporting Numpy-compatible operations between arrays.
  • Supports various network architectures including feed-forward nets, convnets, recurrent nets and recursive nets. It also supports per-batch architectures.
  • Hardware acceleration support:
    • NVIDIA CUDA / cuDNN.
    • Intel CPU (experimental).
    • Multi-GPU data parallelism.
    • Multi-GPU model parallelism.
  • OOP like programming style.
  • Native trainer abstraction. Chainer’s training framework aims at maximal flexibility, while keeps the simplicity for the typical usages. Most components are pluggable, and users can overwrite the definition.
  • Native reporter abstraction.
  • Extension libraries.
  • Fully customizable.

Website: chainer.org
Support: Forum, GitHub Code Repository
Developer: Preferred Networks, inc
License: MIT License

Chainer is written in Python. Learn Python with our recommended free books and free tutorials.


Related Software

Deep Learning with Python
TensorFlowA very popular Deep Learning framework
PyTorchTensors and Dynamic neural networks in Python
KerasHigh-level neural networks API
fastaiSimplifies training fast and accurate neural nets using modern best practices
PyTensorLibrary for fast numerical computation
ElephasDistributed deep learning with Keras and Spark
ChainerPowerful, flexible, and intuitive framework for neural networks
CaffeConvolutional Architecture for Fast Feature Embedding
TFlearnDeep learning library featuring a higher-level API for TensorFlow
MXNetFlexible and efficient library
CNTKDistributed deep learning
NeupyPython library for Artificial Neural Networks and Deep Learning

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments