chainer.link_hooks.TimerHook¶
-
class
chainer.link_hooks.
TimerHook
[source]¶ Link hook for measuring elapsed time of
forward()
.Example
Code example:
from chainer.link_hooks import TimerHook hook = TimerHook() with hook: trainer.run() hook.print_report()
Output example:
LinkName ElapsedTime Occurrence Linear 41.42sec 2100 MLP 42.09sec 700 Classifier 42.39sec 700
where LinkName is the name of link that calls the hook, and ElapsedTime is the elapsed time the link consumed, and Occurrence is the number of calls.
Warning
Call graph of links are hierarchical. That means reported elapsed times may be overlapping with each other and the sum may exceed the total time.
- Variables
call_history – List of measurement results. It consists of pairs of the name of the link that calls this hook and the elapsed time the
forward()
method of link consumes.
Methods
-
added
(link)[source]¶ Callback function invoked when the link hook is registered
- Parameters
link (Link) – Link object to which the link hook is registered.
None
if the link hook is registered globally.
-
deleted
(link)[source]¶ Callback function invoked when the link hook is unregistered
- Parameters
link (Link) – Link object to which the link hook is unregistered.
None
if the link hook had been registered globally.
-
print_report
(file=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>)[source]¶ Prints a summary report of time profiling in links.
-
summary
()[source]¶ Returns a summary of time profiling in links.
- Returns
A summarized dictionary whose keys are link names and values are dictionaries of elapsed_time and occurrence.
Attributes
-
name
= 'TimerHook'¶