Shortcuts

torcheval.metrics.WindowedBinaryAUROC

class torcheval.metrics.WindowedBinaryAUROC(*, num_tasks: int = 1, max_num_samples: int = 100, device: Optional[device] = None)[source]

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: Optional[device] = None) None[source]

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, or a dictionary with torch.Tensor as values

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