Interagir avec les environnements Gymnasium

Reinforcement Learning avec Gymnasium en Python

Fouad Trad

Machine Learning Engineer

Gymnasium

  • Bibliothèque standard pour les tâches de RL
  • Abstrait la complexité des problèmes de RL
  • Propose de nombreux environnements de RL

Image montrant le logo de Gymnasium et quelques environnements fournis.

Reinforcement Learning avec Gymnasium en Python

Principaux environnements Gymnasium

CartPole : L’agent doit équilibrer une barre sur un chariot en mouvement GIF représentant l’environnement CartPole.

MountainCar : L’agent doit monter une côte raide en voiture GIF représentant l’environnement MountainCar.

FrozenLake : L’agent doit traverser un lac gelé avec des trous GIF représentant l’environnement FrozenLake de Gymnasium.

Taxi : Prendre et déposer des passagers GIF représentant l’environnement Taxi.

Reinforcement Learning avec Gymnasium en Python

Interface Gymnasium

 

  • Interface unifiée pour tous les environnements
  • Inclut des fonctions et méthodes pour :
    • Initialiser l’environnement
    • Représenter visuellement l’environnement
    • Exécuter des actions
    • Observer les résultats

GIF représentant l’environnement CartPole.

Reinforcement Learning avec Gymnasium en Python

Créer et initialiser l’environnement

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 avec Gymnasium en Python

Visualiser l’état

 

import matplotlib.pyplot as plt

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

plt.show()

Tracé de l’état initial dans CartPole.

Reinforcement Learning avec Gymnasium en Python

Visualiser l’état

 

import matplotlib.pyplot as plt

def render(): state_image = env.render() plt.imshow(state_image) plt.show()
# Appeler la fonction render()

Tracé de l’état initial dans CartPole.

Reinforcement Learning avec Gymnasium en Python

Exécuter des actions

  • 0 : aller à gauche
  • 1 : aller à droite
action = 1 
state, reward, terminated, truncated, info = env.step(action)




Reinforcement Learning avec Gymnasium en Python

Exécuter des actions

  • 0 : aller à gauche
  • 1 : aller à droite
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 avec Gymnasium en Python

Boucles d’interaction

while not terminated:
    action = 1 # Aller à droite
    state, reward, terminated, _, _ = env.step(action)
    render()

Image montrant quatre états différents dans l’environnement CartPole, capturés pendant la boucle d’interaction.

Reinforcement Learning avec Gymnasium en Python

Passons à la pratique !

Reinforcement Learning avec Gymnasium en Python

Preparing Video For Download...