Criação de rótulos com one-hot encoding
O one-hot encoding converte um único rótulo inteiro em um vetor com N elementos, em que N é o número de classes. Esse vetor contém zeros e um um na posição correta.
Neste exercício, você deve criar manualmente um vetor codificado com one-hot encoding para y e, em seguida, usar o PyTorch para simplificar o processo. Seu conjunto de dados tem três classes (0, 1, 2).
numpy
(np
), torch.nn.functional
(F
) e torch
já foram importados para você.
Este exercício faz parte do curso
Introdução ao Aprendizado Profundo com o PyTorch
Instruções do exercício
- Faça manualmente o one-hot encoding do rótulo verdadeiro
y
usando a matriz NumPy disponibilizada e salve comoone_hot_numpy
. - Use o PyTorch para fazer o one-hot encoding de
y
e salvá-lo comoone_hot_pytorch
.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
y = 1
num_classes = 3
# Create the one-hot encoded vector using NumPy
one_hot_numpy = np.array([____, ____, ____])
# Create the one-hot encoded vector using PyTorch
one_hot_pytorch = F.____(torch.tensor(y), num_classes=____)
print("One-hot vector using NumPy:", one_hot_numpy)
print("One-hot vector using PyTorch:", one_hot_pytorch)