Selectarea acțiunii în DQN de bază
Funcția select_action() permite agentului să aleagă acțiunea cu cea mai mare valoare Q la fiecare pas.
Funcția primește ca argumente rețeaua Q și starea curentă, și returnează indexul acțiunii cu cea mai mare valoare Q.
Rețeaua Q este instanțiată ca q_network, iar o stare aleatorie a fost încărcată în mediul tău cu state = torch.rand(8), pentru a-ți oferi date de lucru.
Acest exercițiu face parte din cursul
Deep Reinforcement Learning în Python
Instrucțiuni pentru exercițiu
- Calculează valorile Q corespunzătoare fiecărei acțiuni din starea furnizată ca argument.
- Obține indexul corespunzător acțiunii cu cea mai mare valoare Q.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)