One-hot gecodeerde labels maken
One-hot encoding zet één geheelgetal-label om in een vector met N elementen, waarbij N het aantal klassen is. Deze vector bevat nullen en een één op de juiste positie.
In deze oefening maak je eerst handmatig een one-hot gecodeerde vector voor y en gebruik je daarna PyTorch om het proces te vereenvoudigen. Je gegevensset heeft drie klassen (0, 1, 2).
numpy (np), torch.nn.functional (F) en torch zijn al voor je geïmporteerd.
Deze oefening maakt deel uit van de cursus
Introductie tot Deep Learning met PyTorch
Oefeninstructies
- Voer handmatig one-hot encoding uit op het ground-truthlabel
ymet behulp van de gegeven NumPy-array en sla het op alsone_hot_numpy. - Gebruik PyTorch om
yone-hot te encoden en sla het op alsone_hot_pytorch.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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)