Shortcuts

torcheval.metrics.WindowedBinaryAUROC

class torcheval.metrics.WindowedBinaryAUROC(*, num_tasks: int = 1, max_num_samples: int = 100, device: device | None = None)

The windowed version of BinaryAUROC. It is calculated from the input and target of the last window_size number of samples. Compute AUROC, which is the area under the ROC Curve, for binary classification.

Examples:

>>> import torch
>>> from torcheval.metrics import WindowedBinaryAUROC
>>> metric = WindowedBinaryAUROC(max_num_samples=4)
>>> input = torch.tensor([0.2, 0.5, 0.1, 0.5, 0.7, 0.8])
>>> target = torch.tensor([0, 1, 1, 0, 1, 1])
>>> metric.update(input, target)
>>> metric.inputs
tensor([0.1, 0.5, 0.7, 0.8])
>>> metric.targets
tensor([1, 0, 1, 1])
>>> metric.compute()
tensor(0.6667)

>>> metric = WindowedBinaryAUROC(max_num_samples=5, num_tasks=2)
>>> metric.update(torch.tensor([[0.2, 0.3], [0.5, 0.1]]), torch.tensor([[1.0, 0.0], [0.0, 1.0]]))
>>> metric.update(torch.tensor([[0.8, 0.3], [0.6, 0.1]]), torch.tensor([[1.0, 1.0], [1.0, 0.0]]))
>>> metric.update(torch.tensor([[0.5, 0.1], [0.3, 0.9]]), torch.tensor([[0.0, 1.0], [0.0, 0.0]]))
>>> metric.inputs
tensor([[0.1000, 0.3000, 0.8000, 0.3000, 0.5000],
[0.9000, 0.1000, 0.6000, 0.1000, 0.3000]])
>>> metric.compute()
tensor([0.4167, 0.5000])
__init__(*, num_tasks: int = 1, max_num_samples: int = 100, device: device | None = None) None

Initialize a metric object and its internal states.

Use self._add_state() to initialize state variables of your metric class. The state variables should be either torch.Tensor, a list of torch.Tensor, a dictionary with torch.Tensor as values, or a deque of torch.Tensor.

Methods

__init__(*[, num_tasks, max_num_samples, device])

Initialize a metric object and its internal states.

compute()

Return AUROC.

load_state_dict(state_dict[, strict])

Loads metric state variables from state_dict.

merge_state(metrics)

Merge the metric state with its counterparts from other metric instances.

reset()

Reset the metric state variables to their default value.

state_dict()

Save metric state variables in state_dict.

to(device, *args, **kwargs)

Move tensors in metric state variables to device.

update(input, target[, weight])

Update states with the ground truth labels and predictions.

Attributes

device

The last input device of Metric.to().

Docs

Access comprehensive developer documentation for PyTorch

View Docs

Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

Resources

Find development resources and get your questions answered

View Resources