CodeBlanks Logo Icon CodeBlanks

Özet - nn.Module

Bu grupta nn.Module, __init__, forward ve nn.Linear'ı öğrendin.

Özet: nn.Module

Bu grupta:

  • Her model nn.Module'dür; __init__'te katmanlar, forward'da hesap; çağrı m(x).
  • super().__init__() şart; katman listeleri için nn.ModuleList (düz liste parametreleri gizler).
  • nn.Sequential basit zincirler; torch.nn.functional parametresiz işlemler.
  • nn.Linear: ağırlık (çıktı, girdi), y = xWᵀ + b; nn.init ile başlatma.
  • parameters(), named_parameters(), dondurma ve state_dict.

Uygulama Kendi sınıflandırıcın

Siniflandirici(girdi, gizli, sinif) sınıfını yaz: __init__'te iki nn.Linear, forward'da araya ReLU. Siniflandirici(4, 16, 3) için torch.zeros(10, 4) girdisinin çıktı şeklini ve parametre sayısını aynı satırda yazdır.

Başlangıç kodu

model.py
import torch
from torch import nn

# buraya yaz

Örnek çözüm

model.py
import torch
from torch import nn

class Siniflandirici(nn.Module):
    def __init__(self, girdi, gizli, sinif):
        super().__init__()
        self.l1 = nn.Linear(girdi, gizli)
        self.l2 = nn.Linear(gizli, sinif)

    def forward(self, x):
        return self.l2(torch.relu(self.l1(x)))

m = Siniflandirici(4, 16, 3)
print(m(torch.zeros(10, 4)).shape, sum(p.numel() for p in m.parameters()))

Beklenen çıktı

torch.Size([10, 3]) 131

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Model kaydetmenin önerilen yolu hangisidir?

  • print(model)
  • model.parameters() listesini yazdırmak
  • pickle ile tüm Python oturumunu
  • torch.save(model.state_dict(), yol) Doğru cevap

Açıklama: state_dict yalnızca tensörleri içerir; model sınıfı kodla yeniden kurulup yüklenir.

2 Kaydedilen ağırlıkları modele yükle.

Soru
model.____(torch.load("model.pt"))
Cevap
model.load_state_dict(torch.load("model.pt"))

Açıklama: load_state_dict adları eşleşen tensörleri kopyalar.

3 Araçları eşleştir.

Kavram Anlamı
nn.Module Temel sınıf
nn.Sequential Sınıfsız zincir
nn.ModuleList Kayıtlı liste
state_dict Ağırlık sözlüğü

İleri seviye bölümündeki tüm dersler