PipelineProfile

class lib.infer.profile.PipelineProfile(plugins: list[ExtractPlugin], error_state: ErrorState, channels_last: list[bool], warmup_time: int, run_time: int, has_detector: bool, face_scaling: int = 2, max_vram: int = 90)

Bases: object

Benchmark multiple PyTorch GPU plugins running simultaneously for inference

Parameters:
  • plugins (list[ExtractPlugin]) – The plugins to benchmark for inference

  • error_state (ErrorState) – The global FSThread error state object for the pipeline

  • channels_last (list[bool]) – List indicating whether each model is channels first or last

  • warmup_time (int) – The amount of time, in seconds, to warmup the plugin at each batch size

  • run_time (int) – The amount of time, in seconds, to benchmark the plugin at each batch size

  • has_detector (bool) – True if the first plugin in the pipeline is a detector

  • face_scaling (int) – The amount of scaling to apply to downstream plugins (ie estimate of average number of faces per frame). Default: 2

  • max_vram (int) – The maximum percentage of total VRAM to allow Cuda to reserve when profiling, Default: 90

Methods Summary

__call__()

Runs benchmarking through all plugins concurrently, store the data and output stats

Methods Documentation

__call__() None

Runs benchmarking through all plugins concurrently, store the data and output stats

Return type:

None

__call__() None

Runs benchmarking through all plugins concurrently, store the data and output stats

Return type:

None