vak.nn.functional.one_hot#
- vak.nn.functional.one_hot(labels: Tensor, num_classes: int, device: device | None = None, dtype: dtype | None = None, eps: float = 1e-06) Tensor [source]#
Converts an integer label x-D tensor to a one-hot (x+1)-D tensor. :param labels: tensor with labels of shape \((N, *)\),
where N is batch size. Each value is an integer representing correct classification.
- Parameters:
num_classes (int) – number of classes in labels.
device (Optional[torch.device]) – the desired device of returned tensor. Default: if None, defaults to device of labels.
dtype (Optional[torch.dtype]) – the desired data type of returned tensor. Default: if None, infers data type from values.
- Returns:
the labels in one hot tensor of shape \((N, C, *)\),
- Return type:
Examples
>>> labels = torch.LongTensor([[[0, 1], [2, 0]]]) >>> one_hot(labels, num_classes=3) tensor([[[[1.0000e+00, 1.0000e-06], [1.0000e-06, 1.0000e+00]], [[1.0000e-06, 1.0000e+00], [1.0000e-06, 1.0000e-06]], [[1.0000e-06, 1.0000e-06], [1.0000e+00, 1.0000e-06]]]])