AdvancedProfiler

class lightning.pytorch.profilers.AdvancedProfiler(dirpath=None, filename=None, line_count_restriction=1.0)[source]

Bases: Profiler

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:
  • dirpath (Union[str, Path, None]) – Directory path for the filename. If dirpath is None but filename is present, the trainer.log_dir (from TensorBoardLogger) will be used.

  • filename (Optional[str]) – If present, filename where the profiler results will be saved instead of printing to stdout. The .txt extension will be used automatically.

  • 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)

Raises:

ValueError – If you attempt to stop recording an action which was never started.

start(action_name)[source]

Defines how to start recording an action.

Return type:

None

stop(action_name)[source]

Defines how to record the duration once an action is complete.

Return type:

None

teardown(stage)[source]

Execute arbitrary post-profiling tear-down steps.

Closes the currently open file and stream.

Return type:

None