Aan de slagGa gratis aan de slag

Multi-class-classificatiemodel

Met een template voor een binair classificatiemodel kun je dit nu uitbreiden naar een multi-class-classificatiemodel. Het model moet verschillende aantallen klassen aankunnen via een parameter, zodat je het in de toekomst kunt afstemmen op een specifieke multi-class-classificatietaak.

De pakketten torch en torch.nn als nn zijn geïmporteerd. Alle afbeeldingsgroottes zijn 64x64 pixels.

Deze oefening maakt deel uit van de cursus

Deep Learning voor afbeeldingen met PyTorch

Cursus bekijken

Oefeninstructies

  • Definieer de __init__-methode met self en num_classes als parameters.
  • Maak een volledig verbonden laag met de invoergrootte 16*32*32 en het aantal klassen num_classes als uitvoer.
  • Maak een activatiefunctie softmax met dim=1.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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 = ____(____)
Code bewerken en uitvoeren