Złożyć klasyfikator obrazów CNN
Połączyć bloki Conv-ReLU-pool w działający model
Złożyć klasyfikator obrazów CNN to bezpłatna lekcja Deep Learning Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Deep Learning Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Deep Learning Academy zawiera 4 lekcji w sumie.
Schemat CNN
Klasyfikator obrazów składa się zwykle z bloków conv-ReLU-pool służących do ekstrakcji cech, a następnie z warstw gęstych przewidujących klasę.
Jeden blok konstrukcyjny
Każdy blok ma ten sam rytm: warstwa konwolucyjna, aktywacja ReLU, a następnie pooling. To podstawowy blok konwolucyjny, który należy powtarzać.
block = nn.Sequential(
nn.Conv2d(3, 16, 3, padding=1),
nn.ReLU(),
nn.MaxPool2d(2),
)ReLU wprowadza nieliniowość
Bez funkcji aktywacji złożone konwolucje sprowadzają się do jednego kroku liniowego. ReLU po każdej konwolucji pozwala sieci uczyć się złożonych kształtów.
Układaj bloki, aby zwiększać głębokość
Powtarzaj blok, za każdym razem zwiększając liczbę kanałów. Więcej bloków oznacza większe pole recepcyjne i bogatsze wyuczone cechy.
Spłaszcz dane przed głową klasyfikatora
Po blokach konwolucyjnych otrzymujesz stos małych map. Spłaszcz je do jednego wektora, aby warstwa gęsta mogła je odczytać.
x = torch.flatten(x, start_dim=1)Głowa klasyfikatora
Warstwa Linear przekształca spłaszczone cechy w jeden wynik dla każdej klasy. Dla dziesięciu klas generuje dziesięć liczb.
head = nn.Linear(64, 10)Zdefiniuj model
Umieść ekstraktor cech i głowę klasyfikatora w obiekcie nn.Module. Metoda forward wykonuje konwolucje, spłaszcza dane, a następnie uruchamia klasyfikator.
class CNN(nn.Module):
def __init__(self):
super().__init__()
self.features = block
self.head = headZapisz przebieg w przód
W metodzie forward przepuść obraz przez ekstraktor cech, spłaszcz wynik i przekaż go do głowy klasyfikatora. Wynikiem jest jeden surowy wynik dla każdej klasy.
def forward(self, x):
x = self.features(x)
x = torch.flatten(x, 1)
return self.head(x)Wyjścia to logity
Głowa klasyfikatora zwraca surowe wyniki nazywane logitami, a nie prawdopodobieństwa. Podczas uczenia funkcja straty entropii krzyżowej oczekuje dokładnie takich surowych wartości.
Wybierz funkcję straty
W przypadku obrazów wieloklasowych użyj CrossEntropyLoss. Funkcja ta wewnętrznie stosuje softmax i porównuje wynik z indeksem prawdziwej etykiety.
loss_fn = nn.CrossEntropyLoss()Przewiduj klasę
Podczas wnioskowania wybierz indeks największego logitu. To argmax jest przewidywaną przez model klasą obrazu. 🖼️
pred = logits.argmax(dim=1)Szybkie sprawdzenie
Sprawdźmy kolejność elementów klasyfikatora CNN.
Podsumowanie: działająca sieć CNN
Zbudowałeś sieć CNN: bloki conv-ReLU-pool ekstraktują cechy, spłaszczenie przekazuje je do głowy Linear, a argmax logitów wyznacza przewidywaną klasę. 🎉
Ucz się Python dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 30
- Lekcje
- 120
Często zadawane pytania
Czy lekcja „Złożyć klasyfikator obrazów CNN” jest bezpłatna?
Tak — pełny tekst „Złożyć klasyfikator obrazów CNN” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Deep Learning Academy, przejdź na CoddyKit PRO. Kurs Deep Learning Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Złożyć klasyfikator obrazów CNN”?
Połączyć bloki Conv-ReLU-pool w działający model Ćwiczysz Deep Learning Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Deep Learning Academy?
Nie wymagamy żadnego doświadczenia. Deep Learning Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Złożyć klasyfikator obrazów CNN”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Deep Learning Academy?
Tak. Każda lekcja Deep Learning Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Konwolucja: jądra przesuwają się po pikselach
- Stride, padding i pooling
- Kanały, mapy cech i pola recepcyjne
- Złożyć klasyfikator obrazów CNN