Базовий вибір дії у DQN
Функція select_action() дає змогу агенту на кожному кроці обирати дію з найвищим Q-значенням.
Функція приймає як аргументи Q-мережу та поточний стан і повертає індекс дії з найвищим Q-значенням.
Q-мережу створено як q_network, а випадковий стан завантажено у ваше середовище через state = torch.rand(8), щоб надати вам приклад даних для роботи.
Ця вправа є частиною курсу
Глибоке навчання з підкріпленням у Python
Інструкції до вправи
- Обчисліть Q-значення, що відповідають кожній дії в стані, переданому як аргумент.
- Отримайте індекс дії з найвищим Q-значенням.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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)