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

Temel DQN'i eğitme

Lunar Lander ortamında Temel bir DQN algoritmasını eğitme zamanı. Unutma, bu hâlâ yalın bir algoritma, performans harika olmayacak; ama bunu daha sonra geliştireceksin.

Bunu, Lunar Lander'ını Ay'a indirmeye giden yoldaki ilk adım olarak düşün!

Daha önce tanımladığın q_network örneği kullanımına hazır.

Bu kurstaki egzersizler boyunca, her bölümün sonunda ajanın nasıl performans gösterdiğine dair bazı bilgileri yazdırmak için Python ortamında bir de describe_episode() fonksiyonu bulunur.

Bu egzersiz

Python ile Deep Reinforcement Learning

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

Egzersiz talimatları

  • İç döngüde ajanın eylemini seç.
  • Kaybı hesapla.
  • Ağ ağırlıklarını güncellemek için bir gradyan inişi adımı uygula.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

for episode in range(10):
    state, info = env.reset()
    done = False
    step = 0
    episode_reward = 0
    while not done:
        step += 1     
        # Select the action
        action = ____(____, ____)
        next_state, reward, terminated, truncated, _ = (env.step(action))
        done = terminated or truncated
        # Calculate the loss
        loss = ____(q_network, state, action, next_state, reward, done)
        optimizer.zero_grad()
        # Perform a gradient descent step
        loss.____
        optimizer.____
        state = next_state
        episode_reward += reward
    describe_episode(episode, reward, episode_reward, step)
Kodu Düzenle ve Çalıştır