Tréninková smyčka DRL
Aby agent mohl prostředí opakovaně prozkoumávat, je potřeba nastavit tréninkovou smyčku.
Většina DRL algoritmů sdílí tuto základní strukturu:
- Procházení epizodami
- Procházení kroky v rámci každé epizody
- V každém kroku vyber akci, vypočítej ztrátu a aktualizuj síť
Máš k dispozici zástupné funkce select_action() a calculate_loss(), které umožní kódu běžet. K dispozici jsou také Network a optimizer definované v předchozím cvičení.
Toto cvičení je součástí kurzu
Deep Reinforcement Learning v Pythonu
Pokyny k cvičení
- Zajisti, aby vnější smyčka (přes epizody) proběhla celkem deset epizod.
- Zajisti, aby vnitřní smyčka (přes kroky) běžela až do konce epizody.
- Proveď akci vybranou funkcí
select_action()v prostředíenv. - Na konci každé iterace vnitřní smyčky aktualizuj stav před zahájením dalšího kroku.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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.")