BaşlayınÜcretsiz Başlayın

RNN ile metin üretimi - Eğitim ve Üretim

PyBooks ekibi şimdi senden, kitap adlarını otomatik tamamlama için verilen girdiye göre dizideki bir sonraki karakteri tahmin edecek şekilde tasarlanmış RNN modelini eğitmeni ve test etmeni istiyor. Bu proje, ekibin metin tamamlama için modelleri daha da geliştirmesine yardımcı olacak.

RNNmodel sınıfı için model örneği senin için önceden yüklendi. data değişkeni önceden işlenip bir dizi olarak kodlandı.

inputs ve targets değişkenleri de senin için önceden yüklendi.

Bu egzersiz

PyTorch ile Metin için Deep Learning

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Modelimizin hatasını hesaplamak için kullanılacak kayıp fonksiyonunu oluştur.
  • PyTorch'un optimizasyon modülünden optimize ediciyi oluştur.
  • Modeli eğitmek için modeli train moduna al, ve bir optimizasyon adımı yapmadan önce gradyanları sıfırla.
  • Eğitimden sonra, modeli bir örnek girdi üzerinde test etmek için değerlendirme moduna geçir.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Instantiate the loss function
criterion = nn.____()
# Instantiate the optimizer
optimizer = torch.optim.____(model.parameters(), lr=0.01)

# Train the model
for epoch in range(100):
    model.____()
    outputs = model(inputs)
    loss = criterion(outputs, targets)
    optimizer.____()
    loss.backward()
    optimizer.step()
    if (epoch+1) % 10 == 0:
        print(f'Epoch {epoch+1}/100, Loss: {loss.item()}')

# Test the model
model.____()
test_input = char_to_ix['r']
test_input = nn.functional.one_hot(torch.tensor(test_input).view(-1, 1), num_classes=len(chars)).float()
predicted_output = model(test_input)
predicted_char_ix = torch.argmax(predicted_output, 1).item()
print(f"Test Input: 'r', Predicted Output: '{ix_to_char[predicted_char_ix]}'")
Kodu Düzenle ve Çalıştır