Model tanımı
- Makine Öğrenmesi kursu
- İleri seviye
- Ders 26/78
- 7 dk
nn.Module ile model tanımlarsın.
Model tanımı
Modelimiz iki parametrelidir: eğim w ve kesişim b. İkisi de requires_grad=True ile oluşturulur ki autograd onların gradyanlarını hesaplasın. Model sıradan bir Python fonksiyonudur:
w = torch.zeros(1, requires_grad=True)
b = torch.zeros(1, requires_grad=True)
def model(x):
return x * w + b # (10, 1) * (1,) + (1,) -> (10, 1)Başlangıçta parametreler sıfırdır; model her girdiye 0 tahmin eder.
Parametre listesi
Eğitilecek parametreleri bir listede toplamak, güncelleme ve gradyan sıfırlama adımlarını tek döngüyle yazmayı sağlar. nn.Module bu listeyi bizim için parameters() ile tutar:
parametreler = [w, b]
for p in parametreler:
print(p.shape, p.requires_grad)Modeli fonksiyonla yazmak küçük örneklerde öğreticidir; büyük modellerde katmanları ve parametreleri nn.Module yönetir.
Uygulama Modeli dene
Parametreler sıfırken model(x)'in toplamını item() ile yazdır. Ardından torch.no_grad() içinde w'ye 3, b'ye 2 ata (w.fill_(3), b.fill_(2)) ve tahminin y'ye eşit olduğunu torch.equal ile yazdır.
Başlangıç kodu
import torch
x = torch.arange(10, dtype=torch.float32).unsqueeze(1)
y = 3 * x + 2
w = torch.zeros(1, requires_grad=True)
b = torch.zeros(1, requires_grad=True)
def model(x):
return x * w + b
# buraya yazÖrnek çözüm
import torch
x = torch.arange(10, dtype=torch.float32).unsqueeze(1)
y = 3 * x + 2
w = torch.zeros(1, requires_grad=True)
b = torch.zeros(1, requires_grad=True)
def model(x):
return x * w + b
print(model(x).sum().item())
with torch.no_grad():
w.fill_(3)
b.fill_(2)
print(torch.equal(model(x).detach(), y))Beklenen çıktı
0.0 True
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Parametreler sıfırken <code>model(x)</code> neyi verir?
- Tüm örnekler için 0 Doğru cevap
- x'in kendisi
- y
- Hata
Açıklama: x · 0 + 0 = 0.
2 Modelin tahminini hesapla.
def model(x):
return x * w ____ b
def model(x):
return x * w + b
Açıklama: Doğrusal model: eğim × girdi + kesişim.
3 Parçaları eşleştir.
| Kavram | Anlamı |
|---|---|
w |
Eğim |
b |
Kesişim |
requires_grad=True |
Öğrenilecek |
model(x) |
Tahmin |