torchmetrics.utilities¶
In the following is listed public utility functions that may be beneficial to use in your own code. These functions are not part of the public API and may change at any time.
torchmetrics.utilities.data¶
The data utilities are used to help with data manipulation, such as converting labels in classification from one format to another.
select_topk¶
- torchmetrics.utilities.data.select_topk(prob_tensor, topk=1, dim=1)[source]¶
Convert a probability tensor to binary by selecting top-k the highest entries.
- Parameters:
- Return type:
- Returns:
A binary tensor of the same shape as the input tensor of type
torch.int32
Example
>>> x = torch.tensor([[1.1, 2.0, 3.0], [2.0, 1.0, 0.5]]) >>> select_topk(x, topk=2) tensor([[0, 1, 1], [1, 1, 0]], dtype=torch.int32)
to_categorical¶
to_onehot¶
- torchmetrics.utilities.data.to_onehot(label_tensor, num_classes=None)[source]¶
Convert a dense label tensor to one-hot format.
- Parameters:
- Return type:
- Returns:
A sparse label tensor with shape [N, C, d1, d2, …]
Example
>>> x = torch.tensor([1, 2, 3]) >>> to_onehot(x) tensor([[0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]])
dim_zero_cat¶
dim_zero_max¶
dim_zero_mean¶
dim_zero_min¶
dim_zero_sum¶
torchmetrics.utilities.distributed¶
The distributed utilities are used to help with synchronization of metrics across multiple processes.
gather_all_tensors¶
- torchmetrics.utilities.distributed.gather_all_tensors(result, group=None, device=None)[source]
Gather all tensors from several ddp processes onto a list that is broadcasted to all processes.
Works on tensors that have the same number of dimensions, but where each dimension may differ. In this case tensors are padded, gathered and then trimmed to secure equal workload for all processes.
- Parameters:
- Return type:
- Returns:
list with size equal to the process group where element i corresponds to result tensor from process i