One-Hot-Labels erstellen
Die One-Hot-Kodierung wandelt ein einzelnes ganzzahliges Label in einen Vektor mit N Elementen um, wobei N die Anzahl der Klassen ist. Dieser Vektor enthält Nullen und eine Eins an der richtigen Stelle.
In dieser Übung erstellst du manuell einen kodierten One-Hot-Vektor für y und verwendest PyTorch, um den Prozess zu vereinfachen. Dein Datensatz hat drei Klassen (0, 1, 2).
numpy
(np
), torch.nn.functional
(F
), und torch
sind bereits für dich importiert.
Diese Übung ist Teil des Kurses
Einführung in Deep Learning mit PyTorch
Anleitung zur Übung
- Kodiere das Ground-Truth-Label
y
manuell mit Hilfe des bereitgestellten NumPy-Arrays und speichere es alsone_hot_numpy
. - Verwende PyTorch, um
y
in einem Rutsch zu kodieren und alsone_hot_pytorch
zu speichern.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
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)