Interaktion mit Gymnasium-Umgebungen

Reinforcement Learning mit Gymnasium in Python

Fouad Trad

Machine Learning Engineer

Gymnasium

  • Standardbibliothek für RL-Aufgaben
  • Abstrahiert die Komplexität von RL-Problemen
  • Bietet zahlreiche RL-Umgebungen

Bild mit dem Gymnasium-Logo und einigen angebotenen Umgebungen.

Reinforcement Learning mit Gymnasium in Python

Wichtige Gymnasium-Umgebungen

CartPole: Agent soll eine Stange auf einem fahrenden Wagen balancieren GIF der CartPole-Umgebung.

MountainCar: Agent soll ein Auto einen steilen Hügel hinauffahren GIF der MountainCar-Umgebung.

FrozenLake: Agent soll über einen vereisten See mit Löchern navigieren GIF der FrozenLake-Gymnasium-Umgebung.

Taxi: Fahrgäste aufnehmen und absetzen GIF der Taxi-Umgebung.

Reinforcement Learning mit Gymnasium in Python

Gymnasium-Schnittstelle

 

  • Einheitlich für alle Umgebungen
  • Enthält Funktionen und Methoden zum:
    • Initialisieren der Umgebung
    • Visuelle Darstellung der Umgebung
    • Ausführen von Aktionen
    • Beobachten der Ergebnisse

GIF der CartPole-Umgebung.

Reinforcement Learning mit Gymnasium in Python

Umgebung erstellen und initialisieren

import gymnasium as gym

env = gym.make('CartPole', render_mode='rgb_array')
state, info = env.reset(seed=42) print(state)
[-0.04405273  0.0242996  -0.04377224 -0.01767325]
1 https://gymnasium.farama.org/environments/classic_control/cart_pole/
Reinforcement Learning mit Gymnasium in Python

Zustand visualisieren

 

import matplotlib.pyplot as plt

state_image = env.render()
plt.imshow(state_image)

plt.show()

Plot des Anfangszustands in CartPole.

Reinforcement Learning mit Gymnasium in Python

Zustand visualisieren

 

import matplotlib.pyplot as plt

def render(): state_image = env.render() plt.imshow(state_image) plt.show()
# Funktion aufrufen render()

Plot des Anfangszustands in CartPole.

Reinforcement Learning mit Gymnasium in Python

Aktionen ausführen

  • 0: nach links bewegen
  • 1: nach rechts bewegen
action = 1 
state, reward, terminated, truncated, info = env.step(action)




Reinforcement Learning mit Gymnasium in Python

Aktionen ausführen

  • 0: nach links bewegen
  • 1: nach rechts bewegen
action = 1
state, reward, terminated, _, _ = env.step(action)


print("State: ", state) print("Reward: ", reward) print("Terminated: ", terminated)
State:  [-0.04356674  0.22002107 -0.0441257  -0.3238392 ]
Reward:  1.0
Terminated:  False
Reinforcement Learning mit Gymnasium in Python

Interaktionsschleifen

while not terminated:
    action = 1 # Move to the right
    state, reward, terminated, _, _ = env.step(action)
    render()

Bild mit vier verschiedenen Zuständen in der CartPole-Umgebung, aufgenommen während der Interaktionsschleife.

Reinforcement Learning mit Gymnasium in Python

Lass uns üben!

Reinforcement Learning mit Gymnasium in Python

Preparing Video For Download...