Mehrklassen-Klassifikationsmodell
Auf Basis der Vorlage für ein binäres Klassifikationsmodell kannst du nun ein Mehrklassen-Klassifikationsmodell entwickeln. Das Modell soll über einen Parameter unterschiedliche Anzahlen von Klassen verarbeiten, sodass du es künftig an eine konkrete Mehrklassen-Aufgabe anpassen kannst.
Die Pakete torch und torch.nn als nn wurden importiert. Alle Bildgrößen sind 64x64 Pixel.
Diese Übung ist Teil des Kurses
<Kurs>Deep Learning für Bilder mit PyTorch</Kurs>Übungsanweisungen
- Definiere die Methode
__init__mit den Parameternselfundnum_classes. - Erstelle eine voll verbundene Schicht mit Eingabegröße
16*32*32undnum_classesals Anzahl der Ausgabeklassen. - Erzeuge eine Aktivierungsfunktion
softmaxmitdim=1.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
class MultiClassImageClassifier(nn.Module):
# Define the init method
def ____(____, ____):
super(MultiClassImageClassifier, self).__init__()
self.conv1 = nn.Conv2d(3, 16, kernel_size=3, stride=1, padding=1)
self.relu = nn.ReLU()
self.maxpool = nn.MaxPool2d(kernel_size=2, stride=2)
self.flatten = nn.Flatten()
# Create a fully connected layer
self.fc = ____(____, ____)
# Create an activation function
self.softmax = ____(____)