MulaiMulai sekarang secara gratis

Melatih algoritma A2C

Saatnya melatih Lunar Lander kita menggunakan algoritma A2C! Anda sudah memiliki seluruh komponen, kini saatnya menyusunnya menjadi satu kesatuan.

Jaringan actor dan critic telah diinstansiasi sebagai actor dan critic, begitu pula optimizer-nya actor_optimizer dan critic_optimizer.

Fungsi REINFORCE select_action() dan fungsi calculate_losses() dari latihan sebelumnya juga tersedia untuk Anda gunakan di sini.

Latihan ini adalah bagian dari kursus

Deep Reinforcement Learning dengan Python

Lihat Kursus

Petunjuk latihan

  • Biarkan actor memilih aksi berdasarkan state.
  • Hitung loss untuk actor dan critic.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

for episode in range(10):
    state, info = env.reset()
    done = False
    episode_reward = 0
    step = 0
    while not done:
        step += 1
        if done:
            break
        # Select the action
        ____
        next_state, reward, terminated, truncated, _ = env.step(action)
        done = terminated or truncated
        episode_reward += reward
        # Calculate the losses
        ____, ____ = ____(
            critic, action_log_prob, 
            reward, state, next_state, done)        
        actor_optimizer.zero_grad()
        actor_loss.backward()
        actor_optimizer.step()
        critic_optimizer.zero_grad()
        critic_loss.backward()
        critic_optimizer.step()
        state = next_state
    describe_episode(episode, reward, episode_reward, step)
Edit dan Jalankan Kode