Barebone DQN seleção de ações
A função select_action()
permite que o agente selecione a ação com o valor Q mais alto em cada etapa.
A função recebe como argumento a rede Q e o estado atual, e retorna o índice da ação com o valor Q mais alto.
A rede Q é instanciada como q_network
, e um estado aleatório foi carregado no seu ambiente com state = torch.rand(8)
para que você possa trabalhar com dados de exemplo.
Este exercício faz parte do curso
Aprendizado por reforço profundo em Python
Instruções de exercício
- Calcule os valores Q correspondentes a cada ação no estado fornecido como argumento.
- Obtenha o índice correspondente à ação com o valor Q mais alto.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
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)