Comparing with caffe
If you are using caffe, it is easy to get accustomed to chainer modules. Several variable’s functionality is similar and you can see below table for its correspondence.
|datasets||Data layers||Input data can be formatted to this class for the model input.
It covers most of the use case of input data structure.
|variable||blob||It is an input and output of functions/links/Chain.|
|functions||layers||Framework supports widely used functions in deep learning. Ex sigmoid, tanh, ReLU etc.|
|links||layers||Framework supports widely used layers in deep learning. Ex Linear layer, Convolutional layer etc.|
|Chain||net||links and functions (layers) are jointed to form a ”model”.
This group of layers are Chain/net
|optimizers||solver||Specify what kind of gradient descent method to be used for tuning model parameter. Ex. SGD, AdaGrad, Adam.|
|serializers||Save/load training state. Ex. model, optimizer etc.|
|iterators||–||Defines each minibatch construction, used in Trainer.|
|training.updater||–||Defines each forward-backward propagation followed by parameter update procedure, used in Trainer.|
|training.Trainer||–||It manages training procedure.|
Chain is explained in Chainer basic module introduction.
Serializer is explained in Chainer basic module introduction 2.