ÎncepețiÎncepe gratuit

Bucla de antrenament DRL

Pentru ca agentul să interacționeze repetat cu mediul, trebuie să configurezi o buclă de antrenament.

Mulți algoritmi DRL au în comun această structură de bază:

  1. Iterează prin episoade
  2. Iterează prin pași în cadrul fiecărui episod
  3. La fiecare pas, alege o acțiune, calculează pierderea și actualizează rețeaua

Îți sunt puse la dispoziție funcțiile placeholder select_action() și calculate_loss(), care permit rularea codului. Network și optimizer definite în exercițiul anterior sunt, de asemenea, disponibile.

Acest exercițiu face parte din cursul

Deep Reinforcement Learning în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Asigură-te că bucla exterioară (peste episoade) rulează pentru zece episoade.
  • Asigură-te că bucla interioară (peste pași) rulează până când episodul este finalizat.
  • Execută acțiunea selectată de select_action() în mediul env.
  • La sfârșitul fiecărei iterații a buclei interioare, actualizează starea înainte de a începe următorul pas.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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.")
Editează și rulează codul