# Runningmean

> Compute the RunningMean metric — provided by torchmetrics. Use when the user has predictions and ground-truth and needs to compute RunningMean, or asks how to score with RunningMean.

- Skill: `qhjqhj00/runningmean` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/runningmean`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/runningmean/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/runningmean

---


# runningmean

> Metric `RunningMean` from `torchmetrics` (torchmetrics.RunningMean)

## When to invoke this skill

The user has predictions + ground truth and asks to evaluate with RunningMean, or
mentions `torchmetrics.RunningMean` directly, or wants the standard torchmetrics implementation.

## Reference signature

```python
from torchmetrics import RunningMean

# RunningMean(window: int = 5, nan_strategy: Union[Literal['error', 'warn', 'ignore', 'disable'], float] = 'warn', **kwargs: Any) -> None
```

## Library docstring

```
Aggregate a stream of value into their mean over a running window.

Using this metric compared to `MeanMetric` allows for calculating metrics over a running window of values, instead
of the whole history of values. This is beneficial when you want to get a better estimate of the metric during
training and don't want to wait for the whole training to finish to get epoch level estimates.

As input to ``forward`` and ``update`` the metric accepts the following input

- ``value`` (:class:`~float` or :class:`~torch.Tensor`): a single float or an tensor of float values with
  arbitrary shape ``(...,)``.

As output of `forward` and `compute` the metric returns the following output

- ``agg`` (:class:`~torch.Tensor`): scalar float tensor with aggregated sum over all inputs received

Args:
    nan_strategy: options:
        - ``'error'``: if any `nan` values are encountered will give a RuntimeError
        - ``'warn'``: if any `nan` values are encountered will give a warning and continue
        - ``'ignore'``: all `nan` values are silently removed
        - ``'disable'``: disable all `nan` checks
        - a float: if a float is provided will impute any `nan` values with this value

    kwargs: Additional keyword arguments, see :ref:`Metric kwargs` for more info.

Raises:
    ValueError:
        If ``nan_strategy`` is not one of ``error``, ``warn``, ``ignore``, ``disable`` or a float

Example:
    >>> from torch import tensor
    >>> from torchmetrics.aggregation import RunningMean
    >>> metric = RunningMean(window=3)
    >>> for i in range(6):
    ...     current_val = metric(tensor([i]))
    ...     running_val = metric.compute()
    ...     total_val = tensor(sum(list(range(i+1)))) / (i+1)  # total mean over all samples
    ...     print(f"{current_val=}, {running_val=}, {total_val=}")
    current_val=tensor(0.), running_val=tensor(0.), total_val=tensor(0.)
    current_val=tensor(1.), running_val=tensor(0.5000), total_val=tensor(0.5000)
    current_val=tensor(2.), running_val=tensor(1.), total_val=tensor(1.)
    current_val=tensor(3.), running_val=tensor(2.), total_val=tensor(1.5000)
    current_val=tensor(4.), running_val=tensor(3.), total_val=tensor(2.)
    curre
```

## Quick recipe

```python
import torchmetrics as _m
score = _m.RunningMean(y_true, y_pred)
```

## Don'ts

- Don't reimplement when the library version handles edge cases (NaN, ties, empty inputs) better than a hand-rolled formula.
- Always check the library version's argument order — sklearn is `(y_true, y_pred)` while torchmetrics is `(preds, target)`.

