Kom igångKom igång gratis

Aktionsval med barebones DQN

Funktionen select_action() låter agenten välja den aktion med högst Q-värde i varje steg.

Funktionen tar Q-nätverket och det aktuella tillståndet som argument och returnerar indexet för aktionen med högst Q-värde.

Q-nätverket är instansierat som q_network, och ett slumpmässigt tillstånd har laddats in i din miljö med state = torch.rand(8) för att ge dig exempeldata att arbeta med.

Den här övningen är en del av kursen

Djup förstärkningsinlärning i Python

Visa kurs

Övningsinstruktioner

  • Beräkna Q-värdena för varje aktion i det tillstånd som skickas in som argument.
  • Hämta indexet för aktionen med högst Q-värde.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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)
Redigera och kör kod