pytorch_pfn_extras.training.triggers.IntervalTrigger#

class pytorch_pfn_extras.training.triggers.IntervalTrigger(period, unit)#

Bases: Trigger

Trigger based on a fixed interval.

This trigger accepts iterations divided by a given interval. There are two ways to specify the interval: per iterations and epochs. Iteration means the number of updates, while epoch means the number of sweeps over the training dataset. Fractional values are allowed if the interval is a number of epochs; the trigger uses the iteration and epoch_detail attributes defined by the manager.

For the description of triggers see get_trigger().

Parameters:
  • period (int or float) – Length of the interval. Must be an integer if unit is 'iteration'.

  • unit (str) – Unit of the length specified by period. It must be either 'iteration' or 'epoch'.

Methods

__init__(period, unit)

get_training_length()

load_state_dict(state)

may_fire(iteration, epoch_length)

Flags if the trigger may fire at the current iteration

state_dict()

__call__(manager)#

Decides whether the extension should be called on this iteration.

Parameters:

manager (ExtensionsManager) – Manager object that this trigger is associated with. The iteration related information in this manager is used to determine if the trigger should fire.

Returns:

True if the corresponding extension should be invoked in this iteration.

Return type:

bool

__init__(period, unit)#
Parameters:
  • period (float) –

  • unit (UnitLiteral) –

get_training_length()#
Return type:

Tuple[float, str]

may_fire(iteration, epoch_length)#

Flags if the trigger may fire at the current iteration

This must not alter the trigger state

Parameters:
  • iteration (int) –

  • epoch_length (int) –

Return type:

bool