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:
- Bölümler (episode) boyunca döngü
- Her bölüm içinde adımlar boyunca döngü
- 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ırEgzersiz 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 eylemienvortamı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.")