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
Ö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)