İlk eğitim döngümüzü yazmak

PyTorch ile Deep Learning'e Giriş

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Bir sinir ağını eğitmek

  1. Model oluşturun
  2. Kayıp fonksiyonu seçin
  3. Veri kümesi tanımlayın
  4. Bir optimize edici ayarlayın
  5. Eğitim döngüsünü çalıştırın:
    • Kayıp hesapla (ileri geçiş)
    • Gradyanları hesapla (geri yayılım)
    • Model parametrelerini güncelle
PyTorch ile Deep Learning'e Giriş

Data Science Salary veri kümesine giriş

 experience_level  employment_type  remote_ratio  company_size  salary_in_usd  
        0                0               0.5             1            0.036 
        1                0               1.0             2            0.133     
        2                0               0.0             1            0.234  
        1                0               1.0             0            0.076  
        2                0               1.0             1            0.170

$$

  • Özellikler: kategorik, hedef: maaş (USD)
  • Son çıktı: doğrusal katman
  • Kayıp: regresyona özgü
PyTorch ile Deep Learning'e Giriş

Ortalama Kare Hata (MSE) Kaybı

$$

  • MSE kaybı, tahmin ile gerçek değer arasındaki farkın karelerinin ortalamasıdır
def mean_squared_loss(prediction, target):
  return np.mean((prediction - target)**2)

$$

  • PyTorch'ta:
criterion = nn.MSELoss()
# Prediction and target are float tensors
loss = criterion(prediction, target)
PyTorch ile Deep Learning'e Giriş

Eğitim döngüsünden önce

# Create the dataset and the dataloader
dataset = TensorDataset(torch.tensor(features).float(),
                        torch.tensor(target).float())


dataloader = DataLoader(dataset, batch_size=4, shuffle=True)
# Create the model model = nn.Sequential(nn.Linear(4, 2), nn.Linear(2, 1))
# Create the loss and optimizer criterion = nn.MSELoss() optimizer = optim.SGD(model.parameters(), lr=0.001)
PyTorch ile Deep Learning'e Giriş

Eğitim döngüsü

for epoch in range(num_epochs):

for data in dataloader:
# Set the gradients to zero optimizer.zero_grad()
# Get feature and target from the data loader feature, target = data
# Run a forward pass pred = model(feature) # Compute loss and gradients loss = criterion(pred, target) loss.backward()
# Update the parameters optimizer.step()
PyTorch ile Deep Learning'e Giriş

Hadi pratik yapalım!

PyTorch ile Deep Learning'e Giriş

Preparing Video For Download...