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.
-
forward_postprocess
(args)[source]¶ Callback function invoked after a forward call of a link.
Parameters: args – Callback data. It has the following attributes:
-
forward_preprocess
(args)[source]¶ Callback function invoked before a forward call of a link.
Parameters: args – Callback data. It has the following attributes:
-
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'¶
-