Zacznij terazZacznij za darmo

Model klasyfikacji binarnej

Jednym z głównych zadań praktyka uczenia głębokiego jest trenowanie modeli do klasyfikacji obrazów. Często spotykasz się z klasyfikacją binarną, w której trzeba rozróżnić dwie klasy. Aby usprawnić swój przepływ pracy i zapewnić możliwość ponownego użycia kodu, postanawiasz stworzyć szablon modelu CNN do binarnej klasyfikacji obrazów, który będzie można zastosować w przyszłych projektach.

Pakiety torch i torch.nn jako nn zostały już zaimportowane. Wszystkie obrazy mają rozmiar 64×64 piksele.

To ćwiczenie jest częścią kursu

Głębokie uczenie dla obrazów z PyTorch

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz warstwę splotową z 3 kanałami wejściowymi, 16 kanałami wyjściowymi, rozmiarem jądra równym 3, krokiem 1 i dopełnieniem 1.
  • Utwórz warstwę w pełni połączoną z rozmiarem wejściowym 16×32×32 i liczbą klas równą 1; podaj wartości w podanej kolejności: (16*32*32, 1).
  • Utwórz funkcję aktywacji sigmoid.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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 = ____
Edytuj i uruchom kod