nip.timing.timeables.Timeable#
- class nip.timing.timeables.Timeable(*, param_scale: float = 1.0)[source]#
Base class for an action that can be timed.
- Parameters:
param_scale (float, default=1.0) – Key default parameters (if any) will be scaled by this factor.
Methods Summary
__init__
(*[, param_scale])_get_profiler_args
(log_dir, record_shapes, ...)Get the arguments for the PyTorch profiler.
run
(profiler)Run the action.
time
([log_dir, record_shapes, ...])Time the action.
Methods
- _get_profiler_args(log_dir: str | None, record_shapes: bool, profile_memory: bool, with_stack: bool) dict [source]#
Get the arguments for the PyTorch profiler.
- Parameters:
log_dir (str or None) – The directory to save the profiling results to, if any.
record_shapes (bool) – Whether to record tensor shapes. This introduces an additional overhead.
profile_memory (bool) – Whether to profile memory usage.
with_stack (bool) – Whether to record the stack trace. This introduces an additional overhead.
- Returns:
profiler_args (dict) – The arguments for the PyTorch profiler.
- abstract run(profiler: profile)[source]#
Run the action.
- Parameters:
profiler (torch.profiler.profile) – The PyTorch profiler which is being used to time the action.
- time(log_dir: str | None = None, record_shapes: bool = True, profile_memory: bool = True, with_stack: bool = False) profile [source]#
Time the action.
- Parameters:
log_dir (str, optional) – The directory to save the profiling results to, if any.
record_shapes (bool) – Whether to record tensor shapes. This introduces an additional overhead.
profile_memory (bool) – Whether to profile memory usage.
with_stack (bool) – Whether to record the stack trace. This introduces an additional overhead.
- Returns:
profiler (torch.profiler.profile) – The PyTorch profiler containing the timing information.