Menulis loop pelatihan pertama kita

Pengantar Deep Learning dengan PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Melatih jaringan saraf

  1. Buat model
  2. Pilih fungsi loss
  3. Definisikan dataset
  4. Atur optimizer
  5. Jalankan training loop:
    • Hitung loss (forward pass)
    • Hitung gradien (backpropagation)
    • Perbarui parameter model
Pengantar Deep Learning dengan PyTorch

Memperkenalkan dataset Gaji Data Science

 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

$$

  • Fitur: kategorikal, target: gaji (USD)
  • Keluaran akhir: linear layer
  • Loss: khusus regresi
Pengantar Deep Learning dengan PyTorch

Loss Mean Squared Error

$$

  • Loss MSE adalah rata-rata selisih kuadrat antara prediksi dan ground truth
def mean_squared_loss(prediction, target):
  return np.mean((prediction - target)**2)

$$

  • di PyTorch:
criterion = nn.MSELoss()
# Prediction and target are float tensors
loss = criterion(prediction, target)
Pengantar Deep Learning dengan PyTorch

Sebelum training loop

# 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)
Pengantar Deep Learning dengan PyTorch

Training loop

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()
Pengantar Deep Learning dengan PyTorch

Ayo berlatih!

Pengantar Deep Learning dengan PyTorch

Preparing Video For Download...