Erste SchritteKostenlos loslegen

Aktionsauswahl in REINFORCE

Schreibe die Funktion REINFORCE select_action, die von deinem REINFORCE Agenten verwendet wird, um bei jedem Schritt eine Aktion auszuwählen.

In DQN liefert der Vorwärtsdurchlauf des Netzwerks Q-Werte; in REINFORCE liefert er Aktionswahrscheinlichkeiten, aus denen eine Aktion direkt ausgewählt werden kann.

In deiner Umgebung wurden ein Policy-Netzwerk und ein Status geladen.

torch.distributions.Categorical wurde importiert als Categorical.

Diese Übung ist Teil des Kurses

Deep Reinforcement Learning in Python

Kurs anzeigen

Anleitung zur Übung

  • Erhalte die Aktionswahrscheinlichkeiten als Fackeltensor.
  • Erhalte die Fackelverteilung, die den Aktionswahrscheinlichkeiten entspricht.
  • Ziehe eine Aktion aus der Verteilung.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

def select_action(policy_network, state):
  # Obtain the action probabilities
  action_probs = ____
  print('Action probabilities:', action_probs)
  # Instantiate the action distribution
  action_dist = Categorical(____)
  # Sample an action from the distribution
  action = ____
  log_prob = action_dist.log_prob(action)
  return action.item(), log_prob.reshape(1)

state = torch.rand(8)
action, log_prob = select_action(policy_network, state)
print('Sampled action index:', action)
print(f'Log probability of sampled action: {log_prob.item():.2f}')
Bearbeiten und Ausführen von Code