profilers¶
Classes
This profiler uses Python’s cProfiler to record more detailed information about time spent in each function call recorded during a given action. |
|
If you wish to write a custom profiler, you should inhereit from this class. |
|
This class should be used when you don’t want the (small) overhead of profiling. |
|
This profiler simply records the duration of actions (in seconds) and reports the mean duration of each action and the total time spent over the entire training run. |
Profiler to check if there are any bottlenecks in your code.
-
class
pytorch_lightning.profiler.profilers.
AdvancedProfiler
(output_filename=None, line_count_restriction=1.0)[source]¶ Bases:
pytorch_lightning.profiler.profilers.BaseProfiler
This profiler uses Python’s cProfiler to record more detailed information about time spent in each function call recorded during a given action. The output is quite verbose and you should only use this if you want very detailed reports.
- Parameters
output_filename¶ (
Optional
[str
]) – optionally save profile results to file instead of printing to std out when training is finished.line_count_restriction¶ (
float
) – this can be used to limit the number of functions reported for each action. either an integer (to select a count of lines), or a decimal fraction between 0.0 and 1.0 inclusive (to select a percentage of lines)
-
class
pytorch_lightning.profiler.profilers.
BaseProfiler
(output_streams=None)[source]¶ Bases:
abc.ABC
If you wish to write a custom profiler, you should inhereit from this class.
-
profile
(action_name)[source]¶ Yields a context manager to encapsulate the scope of a profiled action.
Example:
with self.profile('load training data'): # load training data code
The profiler will start once you’ve entered the context and will automatically stop once you exit the code block.
- Return type
-
-
class
pytorch_lightning.profiler.profilers.
PassThroughProfiler
[source]¶ Bases:
pytorch_lightning.profiler.profilers.BaseProfiler
This class should be used when you don’t want the (small) overhead of profiling. The Trainer uses this class by default.
Args: output_streams: callable
-
class
pytorch_lightning.profiler.profilers.
SimpleProfiler
(output_filename=None)[source]¶ Bases:
pytorch_lightning.profiler.profilers.BaseProfiler
This profiler simply records the duration of actions (in seconds) and reports the mean duration of each action and the total time spent over the entire training run.
- Parameters
output_filename¶ (
Optional
[str
]) – optionally save profile results to file instead of printing to std out when training is finished.