Separate trainer and updater
Created by: helinwang
Before we are planning to use a single concept trainer
to combine trainer
and updater
.
E.g.,
paddle.trainer.Momentum
paddle.trainer.MomentumParallel
paddle.trainer.AdagradParallel
paddle.trainer.Adagrad
paddle.trainer.AdagradParallel
paddle.trainer.Adam
paddle.trainer.AdamParallel
The number-of-class
will be number-of-trainer x number-of-update-algorithm
.
To make number of class fewer, maybe we can separate trainer
and updater
. And update is a C++ interface with a pure virtual function update
:
paddle.trainer.SGD
paddle.trainer.SGDParallel
paddle.updater.Adam
paddle.updater.Adagrad
paddle.updater.Momentum