Začněte nyníZačněte zdarma

Trénování algoritmu A2C

Je čas natrénovat Lunar Lander pomocí algoritmu A2C! Máš k dispozici všechny stavební bloky – teď jde o to, složit je dohromady.

Sítě actor a critic jsou připravené jako actor a critic, stejně tak jejich optimalizátory actor_optimizer a critic_optimizer.

K dispozici máš i funkci select_action() z algoritmu REINFORCE a funkci calculate_losses() z předchozího cvičení.

Toto cvičení je součástí kurzu

Deep Reinforcement Learning v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Nech actor vybrat akci na základě aktuálního stavu.
  • Vypočítej ztráty pro actor i critic.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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)
Upravit a spustit kód