Zacznij terazZacznij za darmo

Wybór akcji w uproszczonym algorytmie DQN

Funkcja select_action() pozwala agentowi wybierać akcję o najwyższej wartości Q na każdym kroku.

Funkcja przyjmuje jako argumenty sieć Q oraz bieżący stan, a zwraca indeks akcji o najwyższej wartości Q.

Sieć Q jest zinstancjonowana jako q_network, a losowy stan został wczytany do twojego środowiska za pomocą state = torch.rand(8), aby dostarczyć przykładowych danych do pracy.

To ćwiczenie jest częścią kursu

Głębokie uczenie ze wzmocnieniem w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Oblicz wartości Q odpowiadające każdej akcji w stanie przekazanym jako argument.
  • Uzyskaj indeks odpowiadający akcji o najwyższej wartości Q.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod