Modell för binär klassificering
Som djupinlärningspraktiker är en av dina viktigaste uppgifter att träna modeller för bildklassificering. Du stöter ofta på binär klassificering, där du behöver skilja mellan två klasser. För att effektivisera ditt arbetsflöde och säkerställa återanvändbarhet har du bestämt dig för att skapa en mall för en binär bildklassificerings-CNN-modell, som kan användas i framtida projekt.
Paketen torch och torch.nn som nn har redan importerats. Alla bildstorlekar är 64x64 pixlar.
Den här övningen är en del av kursen
Djupinlärning för bilder med PyTorch
Övningsinstruktioner
- Skapa ett konvolutionslager med 3 kanaler, 16 utkanaler, kernelstorlek 3, steg 1 och utfyllnad 1.
- Skapa ett fullt anslutet lager med en inmatningsstorlek på 16x32x32 och ett antal klasser lika med 1; inkludera endast värdena i angiven ordning
(16*32*32, 1). - Skapa en
sigmoid-aktiveringsfunktion.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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 = ____