CommencezCommencez gratuitement

Sélection d'action DQN minimaliste

La fonction select_action() permet à l'agent de choisir, à chaque étape, l'action ayant la plus grande valeur Q.

La fonction prend en arguments le réseau Q et l'état courant, puis retourne l'indice de l'action dont la valeur Q est la plus élevée.

Le réseau Q est instancié sous le nom q_network, et un état aléatoire a été chargé dans votre environnement avec state = torch.rand(8) pour vous fournir des données d'exemple.

Cette activité fait partie du cours

Deep Reinforcement Learning en Python

Voir le cours

Instructions de l’exercice

  • Calculez les valeurs Q correspondant à chaque action pour l'état fourni en argument.
  • Obtenez l'indice de l'action ayant la plus grande valeur Q.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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)
Modifier et exécuter le code