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
Oefeninstructies
- Definieer de
__init__-methode metselfennum_classesals parameters. - Maak een volledig verbonden laag met de invoergrootte
16*32*32en het aantal klassennum_classesals uitvoer. - Maak een activatiefunctie
softmaxmetdim=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 = ____(____)