Aan de slagGa gratis aan de slag

Binair classificatiemodel

Als deep learning-practitioner is een van je belangrijkste taken het trainen van modellen voor beeldclassificatie. Je komt vaak binaire classificatie tegen, waarbij je twee klassen van elkaar moet onderscheiden. Om je workflow te stroomlijnen en hergebruik te borgen, heb je besloten een template te maken voor een CNN-model voor binaire beeldclassificatie, dat je op toekomstige projecten kunt toepassen.

Het pakket torch en torch.nn als nn zijn geïmporteerd. Alle afbeeldingsformaten zijn 64x64 pixels.

Deze oefening maakt deel uit van de cursus

Deep Learning voor afbeeldingen met PyTorch

Cursus bekijken

Oefeninstructies

  • Maak een convolutionele laag met 3 kanalen, 16 outputkanalen, een kernelgrootte van 3, een stride van 1 en padding van 1.
  • Maak een volledig verbonden laag met een inputgrootte van 16x32x32 en een aantal klassen gelijk aan 1; neem alleen de waarden op in de opgegeven volgorde (16*32*32, 1).
  • Maak een sigmoid-activatiefunctie.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

class BinaryImageClassifier(nn.Module):
    def __init__(self):
        super(BinaryImageClassifier, self).__init__()
        
        # Create a convolutional layer
        self.conv1 = ____(____)
        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.sigmoid = ____
Code bewerken en uitvoeren