IniziaInizia gratis

Selezione dell'azione con DQN essenziale

La funzione select_action() permette all'agente di selezionare a ogni passo l'azione con il Q-value più alto.

La funzione prende come argomenti il Q-network e lo stato corrente e restituisce l'indice dell'azione con il Q-value più alto.

Il Q-network è istanziato come q_network, e un state casuale è stato caricato nel tuo ambiente con state = torch.rand(8) per fornirti dei dati di esempio su cui lavorare.

Questo esercizio fa parte del corso

Deep Reinforcement Learning in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Calcola i Q-value corrispondenti a ciascuna azione nello state fornito come argomento.
  • Ottieni l'indice corrispondente all'azione con il Q-value più alto.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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)
Modifica ed esegui il codice