Interface of updater objects for trainers.

Updater implements a training iteration as update(). Typically, the updating iteration proceeds as follows.

The first line is processed by Iterator.__next__. The second and third are processed by Optimizer.update. Users can also implement their original updating iteration by overriding Updater.update.



Connects the updater to the trainer that will call it.

The typical usage of this method is to register additional links to the reporter of the trainer. This method is called at the end of the initialization of Trainer. The default implementation does nothing.

Parameters:trainer (Trainer) – Trainer object to which the updater is registered.

Finalizes the updater object.

This method is called at the end of training loops. It should finalize each dataset iterator used in this updater.


Gets a dictionary of all optimizers for this updater.

Returns:Dictionary that maps names to optimizers.
Return type:dict

Gets the optimizer of given name.

Updater holds one or more optimizers with names. They can be retrieved by this method.

Parameters:name (str) – Name of the optimizer.
Returns:Optimizer of the name.
Return type:Optimizer

Serializes the current state of the updater object.


Updates the parameters of the target model.

This method implements an update formula for the training task, including data loading, forward/backward computations, and actual updates of parameters.

This method is called once at each iteration of the training loop.