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