Timer#
- class ignite.handlers.timing.Timer(average=False)[source]#
Timer object can be used to measure (average) time between events.
- Parameters
average (bool) – if True, then when
.value()
method is called, the returned value will be equal to total time measured, divided by the value of internal counter.
- step_count#
internal counter, useful to measure average time, e.g. of processing a single batch. Incremented with the
.step()
method.- Type
Note
When using
Timer(average=True)
do not forget to calltimer.step()
every time an event occurs. See the examples below.Examples
Measuring total time of the epoch:
>>> from ignite.handlers import Timer >>> import time >>> work = lambda : time.sleep(0.1) >>> idle = lambda : time.sleep(0.1) >>> t = Timer(average=False) >>> for _ in range(10): ... work() ... idle() ... >>> t.value() 2.003073937026784
Measuring average time of the epoch:
>>> t = Timer(average=True) >>> for _ in range(10): ... work() ... idle() ... t.step() ... >>> t.value() 0.2003182829997968
Measuring average time it takes to execute a single
work()
call:>>> t = Timer(average=True) >>> for _ in range(10): ... t.resume() ... work() ... t.pause() ... idle() ... t.step() ... >>> t.value() 0.10016545779653825
Using the Timer to measure average time it takes to process a single batch of examples:
>>> from ignite.engine import Engine, Events >>> from ignite.handlers import Timer >>> trainer = Engine(training_update_function) >>> timer = Timer(average=True) >>> timer.attach(trainer, ... start=Events.EPOCH_STARTED, ... resume=Events.ITERATION_STARTED, ... pause=Events.ITERATION_COMPLETED, ... step=Events.ITERATION_COMPLETED)
Methods
Register callbacks to control the timer.
Pause the current running timer.
Reset the timer to zero.
Resume the current running timer.
Increment the timer.
Return the average timer value.
- attach(engine, start=Events.STARTED, pause=Events.COMPLETED, resume=None, step=None)[source]#
Register callbacks to control the timer.
- Parameters
engine (Engine) – Engine that this timer will be attached to.
start (Events) – Event which should start (reset) the timer.
pause (Events) – Event which should pause the timer.
resume (Optional[Events]) – Event which should resume the timer.
step (Optional[Events]) – Event which should call the step method of the counter.
- Returns
this timer
- Return type