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.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