Aan de slagGa gratis aan de slag

Barebone DQN-actie-selectie

De functie select_action() laat de agent bij elke stap de actie kiezen met de hoogste Q-waarde.

De functie krijgt het Q-netwerk en de huidige state als argument en geeft de index terug van de actie met de hoogste Q-waarde.

Het Q-netwerk is geïnstantieerd als q_network, en er is een willekeurige state in je omgeving geladen met state = torch.rand(8) zodat je voorbeelddata hebt om mee te werken.

Deze oefening maakt deel uit van de cursus

Deep Reinforcement Learning in Python

Cursus bekijken

Oefeninstructies

  • Bereken de Q-waarden die horen bij elke actie in de meegegeven state.
  • Haal de index op die hoort bij de actie met de hoogste Q-waarde.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

def select_action(q_network, state):
    # Calculate the Q-values
    q_values = ____
    print("Q-values:", [round(x, 2) for x in q_values.tolist()])
    # Obtain the action index with highest Q-value
    action = torch.____.item()
    print(f"Action selected: {action}, with q-value {q_values[action]:.2f}")
    return action

select_action(q_network, state)
Code bewerken en uitvoeren