modalities.utils.profilers package

Submodules

modalities.utils.profilers.batch_generator module

class modalities.utils.profilers.batch_generator.DataTypeEnum(value)[source]

Bases: LookupEnum

bfloat16 = torch.bfloat16
float32 = torch.float32
int64 = torch.int64
class modalities.utils.profilers.batch_generator.DatasetBatchGeneratorIF[source]

Bases: ABC

get_dataset_batch()[source]
Return type:

DatasetBatch

class modalities.utils.profilers.batch_generator.RandomDatasetBatchGenerator(dims, data_type, min_val, max_val)[source]

Bases: DatasetBatchGeneratorIF

Parameters:
get_dataset_batch()[source]
Return type:

DatasetBatch

class modalities.utils.profilers.batch_generator.RandomDatasetBatchGeneratorConfig(**data)[source]

Bases: BaseModel

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
data_type: DataTypeEnum
dims: dict[str, int]
max_val: int
min_val: int
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

modalities.utils.profilers.modalities_profiler module

modalities.utils.profilers.profiler_configs module

modalities.utils.profilers.profiler_factory module

modalities.utils.profilers.profilers module

class modalities.utils.profilers.profilers.SteppableCombinedProfiler(profilers)[source]

Bases: SteppableProfilerIF

Parameters:

profilers (list[SteppableProfilerIF])

step()[source]
class modalities.utils.profilers.profilers.SteppableKernelProfiler(num_wait_steps, num_warmup_steps, num_active_steps, profiler_activities, profile_memory, record_shapes, with_flops, with_stack, with_modules, trace_output_path, summary_output_path)[source]

Bases: SteppableProfilerIF

Parameters:
step()[source]
class modalities.utils.profilers.profilers.SteppableMemoryProfiler(memory_snapshot_path, num_wait_steps, num_warmup_steps, num_active_steps)[source]

Bases: SteppableProfilerIF

Parameters:
  • memory_snapshot_path (Path)

  • num_wait_steps (int)

  • num_warmup_steps (int)

  • num_active_steps (int)

MEMORY_SNAPSHOT_MAX_ENTRIES = 100000
step()[source]
class modalities.utils.profilers.profilers.SteppableNoProfiler(num_steps=-1)[source]

Bases: SteppableProfilerIF

Parameters:

num_steps (int)

step()[source]
class modalities.utils.profilers.profilers.SteppableProfilerIF[source]

Bases: object

step()[source]

modalities.utils.profilers.steppable_component_configs module

modalities.utils.profilers.steppable_components module

class modalities.utils.profilers.steppable_components.SteppableForwardPass(model, dataset_batch_generator, loss_fn=None, optimizer=None)[source]

Bases: SteppableComponentIF

A steppable component that performs a forward pass on the model using batches from the dataset batch generator. Optionally computes the loss if a loss function is provided. The component is used for profiling.

Initializes the SteppableForwardPass component.

Args:

model (nn.Module): The model to perform the forward pass on. dataset_batch_generator (DatasetBatchGeneratorIF): The dataset batch generator to provide input batches. loss_fn (Loss, optional): The loss function to compute the loss. Defaults to None.

Parameters:
step()[source]

Performs a single step of the forward pass and computes the loss if a loss function is provided.

Return type:

None

modalities.utils.profilers.steppable_components_if module

class modalities.utils.profilers.steppable_components_if.SteppableComponentIF[source]

Bases: object

step()[source]
Return type:

None

Module contents