Deep learning tutorial with Chainer

※ This is unofficial tutorial, the content of this blog is written based on personal opinion/understanding.

Deep learning hands on tutorial using Chainer. The source code of this tutorial is open on github.

You can learn how to write deep learning program in python (which is one of the most popular programming language used in data-science community) and how to use deep learning framework Chainer.

Chainer is  “flexible deep learning framework”. The difference from other famous deep learning framework like tensorflow or caffe is that Chainer constructs neural network dynamically, which enables to write your neural network in more flexible way.  as you are going to learn below.

Especially, I want to recommend Chainer for

  • Deep learning framework beginners
    – Easy environment setup:
    One command, pip install chainer, for installing chainer.
    – Easy to debug: You can see python stack trace log when error happened.
  • Researchers
    – Flexisible: Chainer is very flexisible due to its base concept, “define by run” scheme. You can define complicated network easily.
    – Extensible/Customizable:
    It is also easy to develop your own function, your own neural network layer only using python with Chainer. Suitable for research to try new idea quickly.
  • Students
    – Educative: Chainer is open source and it is also good for studying deep learning framework. Since chainer is written in python, you can jump to the function definition and read python docstring if you want to dig in the internal behavior.

See Why Chainer for details.

Getting familiar with Chainer

Chainer modules

Chainer basic module introduction

Chainer basic module introduction 2


Hello MNIST! : Multi Layer Perceptron

MNIST dataset classification task using MLP (Multi Layer Perceptron).

MNIST dataset introduction

MNIST training with Multi Layer Perceptron

Refactoring MNIST training

Design patterns for defining model

Writing organized, reusable, clean training code using Trainer module

MNIST inference code


Image Classification: Convolutional Neural Network

CIFAR 10, CIFAR 100 image classification with CNN (Convolutional Neural Network)

Basic image processing tutorial

Understanding convolutional layer

CIFAR-10, CIFAR-100 dataset introduction

CIFAR-10, CIFAR-100 training with Convolutional Neural Network

CIFAR-10, CIFAR-100 inference code


Natual Language Processing: Reccurent Neural Network, Long Short Term Memory

NLP task with RNN, LSTM.




This is on-going project, I am going to write more topics when I can manage time…

Other topics I want to write in the future.

  • PyCharm ( development environment setup, how to debug, how to profile etc.)
  • VAE (Generative model)
  • GAN (Adversarial network)


Sponsored Links

Leave a Reply

Your email address will not be published.