Model de clasificare binară
Ca practician în învățarea profundă, una dintre sarcinile tale principale este antrenarea modelelor pentru clasificarea imaginilor. Te vei întâlni frecvent cu clasificarea binară, în care trebuie să distingi între două clase. Pentru a-ți eficientiza fluxul de lucru și a asigura reutilizabilitatea codului, ai decis să creezi un șablon pentru un model CNN de clasificare binară a imaginilor, care poate fi aplicat în proiecte viitoare.
Pachetul torch și torch.nn ca nn au fost deja importate. Toate imaginile au dimensiunea de 64x64 pixeli.
Acest exercițiu face parte din cursul
Deep Learning pentru imagini cu PyTorch
Instrucțiuni pentru exercițiu
- Creează un strat convoluțional cu 3 canale de intrare, 16 canale de ieșire, un kernel de dimensiunea 3, stride de 1 și padding de 1.
- Creează un strat fully connected cu o dimensiune de intrare de 16x32x32 și un număr de clase egal cu 1; include doar valorile în ordinea indicată
(16*32*32, 1). - Creează o funcție de activare
sigmoid.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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 = ____