Interactie met Gymnasium-omgevingen

Reinforcement Learning met Gymnasium in Python

Fouad Trad

Machine Learning Engineer

Gymnasium

  • Standaardbibliotheek voor RL-taken
  • Abstraheert de complexiteit van RL-problemen
  • Biedt veel RL-omgevingen

Afbeelding met het Gymnasium-logo en enkele omgevingen.

Reinforcement Learning met Gymnasium in Python

Belangrijke Gymnasium-omgevingen

CartPole: Agent moet een paal balanceren op een rijdend karretje GIF van de CartPole-omgeving.

MountainCar: Agent moet een auto een steile heuvel op rijden GIF van de MountainCar-omgeving.

FrozenLake: Agent navigeert over een bevroren meer met gaten GIF van de FrozenLake-gymnasiumomgeving.

Taxi: Passagiers oppikken en afzetten GIF van de Taxi-omgeving.

Reinforcement Learning met Gymnasium in Python

Gymnasium-interface

 

  • Uniform voor alle omgevingen
  • Bevat functies en methoden om:
    • Omgeving initialiseren
    • Omgeving visueel weergeven
    • Acties uitvoeren
    • Resultaten observeren

GIF van de CartPole-omgeving.

Reinforcement Learning met Gymnasium in Python

De omgeving maken en initialiseren

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 met Gymnasium in Python

De staat visualiseren

 

import matplotlib.pyplot as plt

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

plt.show()

Plot van de beginstaat in CartPole.

Reinforcement Learning met Gymnasium in Python

De staat visualiseren

 

import matplotlib.pyplot as plt

def render(): state_image = env.render() plt.imshow(state_image) plt.show()
# Functie aanroepen render()

Plot van de beginstaat in CartPole.

Reinforcement Learning met Gymnasium in Python

Acties uitvoeren

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




Reinforcement Learning met Gymnasium in Python

Acties uitvoeren

  • 0: naar links
  • 1: naar rechts
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 met Gymnasium in Python

Interactie-lussen

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

Afbeelding met vier verschillende staten in de CartPole-omgeving, vastgelegd tijdens de interactielus.

Reinforcement Learning met Gymnasium in Python

Laten we oefenen!

Reinforcement Learning met Gymnasium in Python

Preparing Video For Download...