ПочатиПочніть безкоштовно

Базовий вибір дії у 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)
Редагувати та запускати код