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

DRL eğitim döngüsü

Aracının ortamı tekrar tekrar deneyimleyebilmesi için bir eğitim döngüsü kurman gerekiyor.

Birçok DRL algoritması şu temel yapıyı paylaşır:

  1. Bölümler (episode) boyunca döngü
  2. Her bölüm içinde adımlar boyunca döngü
  3. Her adımda bir eylem seç, kaybı (loss) hesapla ve ağı güncelle

Kodun çalışmasını sağlayan yer tutucu select_action() ve calculate_loss() fonksiyonları sağlanmıştır. Önceki egzersizde tanımlanan Network ve optimizer da kullanımına hazırdır.

Bu egzersiz

Python ile Deep Reinforcement Learning

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

Egzersiz talimatları

  • Dış döngünün (bölümler üzerinde) on bölüm çalıştığından emin ol.
  • İç döngünün (adımlar üzerinde) bölüm tamamlanana kadar çalıştığından emin ol.
  • select_action() tarafından seçilen eylemi env ortamında uygula.
  • İç döngü yinelemesinin sonunda, bir sonraki adıma başlamadan önce durumu güncelle.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

env = gym.make("LunarLander-v2")
# Run ten episodes
for episode in ____:
    state, info = env.reset()
    done = False    
    # Run through steps until done
    while ____:
        action = select_action(network, state)        
        # Take the action
        next_state, reward, terminated, truncated, _ = ____
        done = terminated or truncated        
        loss = calculate_loss(network, state, action, next_state, reward, done)
        optimizer.zero_grad()
        loss.backward()
        optimizer.step()        
        # Update the state
        state = ____
    print(f"Episode {episode} complete.")
Kodu Düzenle ve Çalıştır