Bir CNN Görüntü Sınıflandırıcısı Oluşturma
Conv-ReLU-pool bloklarından çalışan bir model oluşturun.
Bir CNN Görüntü Sınıflandırıcısı Oluşturma, CoddyKit'te ücretsiz bir Deep Learning Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Deep Learning Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Deep Learning Academy kursu toplamda 4 dersten oluşur.
CNN Tarifi
Klasik bir görüntü sınıflandırıcı, özellikleri çıkarmak için evrişim-ReLU-havuzlama bloklarını üst üste ekler ve ardından sınıfı tahmin eden yoğun katmanlarla sona erer.
Bir Yapı Taşı
Her blok aynı ritmi izler: bir evrişim katmanı, bir ReLU etkinleştirmesi ve ardından bir havuzlama katmanı. Tekrarlayacağınız temel yapı evrişim bloğudur.
block = nn.Sequential(
nn.Conv2d(3, 16, 3, padding=1),
nn.ReLU(),
nn.MaxPool2d(2),
)ReLU Doğrusal Olmayanlık Ekler
Bir etkinleştirme olmadan, üst üste dizilmiş evrişimler tek bir doğrusal adıma indirgenir. Her evrişimden sonra ReLU kullanmak, ağın karmaşık şekilleri öğrenmesini sağlar.
Daha Derine İnmek İçin Blokları Üst Üste Ekleyin
Her seferinde kanal sayısını artırarak bloğu tekrarlayın. Daha fazla blok, daha geniş bir alıcı alan ve daha zengin öğrenilmiş özellikler anlamına gelir.
Başlıktan Önce Düzleştirin
Evrişim bloklarından sonra elinizde küçük haritalardan oluşan bir yığın bulunur. Yoğun katmanın okuyabilmesi için bunları Flatten ile tek bir vektöre dönüştürün.
x = torch.flatten(x, start_dim=1)Sınıflandırıcı Başlığı
Bir Linear katmanı, düzleştirilmiş özellikleri her sınıf için bir puana dönüştürür. On sınıf varsa on sayı üretir.
head = nn.Linear(64, 10)Modeli Tanımlama
Özellikleri ve başlığı bir nn.Module içine yerleştirin. İleri geçiş yöntemi evrişimleri çalıştırır, özellikleri düzleştirir ve ardından sınıflandırıcıyı çalıştırır.
class CNN(nn.Module):
def __init__(self):
super().__init__()
self.features = block
self.head = headİleri Geçişi Yazma
forward içinde görüntüyü features üzerinden geçirin, düzleştirin ve başlığa aktarın. Çıkış, her sınıf için bir ham puandır.
def forward(self, x):
x = self.features(x)
x = torch.flatten(x, 1)
return self.head(x)Çıkışlar Logittir
Başlık, olasılık değil, logit adı verilen ham puanları döndürür. Çapraz entropi kaybı, eğitim sırasında tam olarak bu ham değerleri bekler.
Kaybı Seçme
Çok sınıflı görüntüler için CrossEntropyLoss kullanın. Bu işlev softmax'ı kendi içinde uygular ve gerçek etiket diziniyle karşılaştırma yapar.
loss_fn = nn.CrossEntropyLoss()Bir Sınıf Tahmin Etme
Çıkarım sırasında en büyük logitin dizinini alın. Bu argmax değeri, modelin görüntü için tahmin ettiği sınıftır. 🖼️
pred = logits.argmax(dim=1)Hızlı Kontrol
Bir CNN sınıflandırıcısının parçalarının sırasını kontrol edelim.
Özet: Çalışan Bir CNN
Bir CNN oluşturdunuz: evrişim-ReLU-havuzlama blokları özellikleri çıkarır, flatten işlemi özellikleri bir Linear başlığına aktarır ve logitler üzerindeki argmax, tahmin edilen sınıfı verir. 🎉
Yapay zeka eğitmeniyle Python öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 30
- Dersler
- 120
Sıkça Sorulan Sorular
“Bir CNN Görüntü Sınıflandırıcısı Oluşturma” dersi ücretsiz mi?
Evet — “Bir CNN Görüntü Sınıflandırıcısı Oluşturma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Deep Learning Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Deep Learning Academy kursu toplamda 4 dersten oluşur.
“Bir CNN Görüntü Sınıflandırıcısı Oluşturma” dersinde ne öğreneceğim?
Conv-ReLU-pool bloklarından çalışan bir model oluşturun. Deep Learning Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Deep Learning Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Deep Learning Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Bir CNN Görüntü Sınıflandırıcısı Oluşturma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Deep Learning Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Deep Learning Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Evrişim: Çekirdekler Pikseller Üzerinde Kayar
- Adım, Dolgu ve Havuzlama
- Kanallar, Özellik Haritaları ve Alıcı Alanlar
- Bir CNN Görüntü Sınıflandırıcısı Oluşturma