> For clean Markdown content of this page, append .md to this URL.

# aitune.torch.task.profiling.measuring_strategy

Measuring strategies for profiling.

## Module Contents

### Classes

| Name                                                                                                                         | Description                                                           |
| ---------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| [`MeasuringStrategy`](#aitune-torch-task-profiling-measuring_strategy-MeasuringStrategy)                                     | Strategy how do the measurement and create a ProfilingResultEvent(s). |
| [`ModelExecutionTimeMeasuringStrategy`](#aitune-torch-task-profiling-measuring_strategy-ModelExecutionTimeMeasuringStrategy) | Strategy to measure execution time.                                   |

### API

```python
class aitune.torch.task.profiling.measuring_strategy.MeasuringStrategy()
```

Abstract

Strategy how do the measurement and create a ProfilingResultEvent(s).

```python
aitune.torch.task.profiling.measuring_strategy.MeasuringStrategy.do_measurement(
    batch_size: int,
    model: collections.abc.Callable,
    sample: tuple[list, dict],
    kwargs = {}
) -> list[aitune.torch.task.profiling.events.ProfilingResultEvent]
```

abstract

Do the measurement and create a ProfilingResultEvent(s).

**Parameters:**

**`batch_size`** `int`

Batch size of the measurement.

---

**`model`** `Callable`

Model to measure.

---

**`sample`** `tuple[list, dict]`

Sample to measure.

---

**`**kwargs`** — default: \{}

Additional keyword arguments.

---

**Returns:** `list[ProfilingResultEvent]`

List of ProfilingResultEvent(s).

```python
class aitune.torch.task.profiling.measuring_strategy.ModelExecutionTimeMeasuringStrategy()
```

**Bases:** [MeasuringStrategy](#aitune-torch-task-profiling-measuring_strategy-MeasuringStrategy)

Strategy to measure execution time.

**`counter`** `int = 0`

---

```python
aitune.torch.task.profiling.measuring_strategy.ModelExecutionTimeMeasuringStrategy.do_measurement(
    batch_size: int,
    model: collections.abc.Callable,
    sample: tuple[list, dict],
    measurement_kwargs = {}
) -> list[aitune.torch.task.profiling.events.ProfilingResultEvent]
```

Do the measurement and create a ProfilingResultEvent(s) for the model.