Interactuar con entornos de Gymnasium

Reinforcement Learning con Gymnasium en Python

Fouad Trad

Machine Learning Engineer

Gymnasium

  • Biblioteca estándar para tareas de RL
  • Abstrae la complejidad de los problemas de RL
  • Ofrece multitud de entornos de RL

Imagen con el logo de gymnasium y algunos de sus entornos.

Reinforcement Learning con Gymnasium en Python

Entornos clave de Gymnasium

CartPole: El agente debe equilibrar una vara sobre un carro en movimiento GIF del entorno CartPole.

MountainCar: El agente debe subir una colina empinada con el coche GIF del entorno MountainCar.

FrozenLake: El agente debe cruzar un lago helado con agujeros GIF del entorno FrozenLake de gymnasium.

Taxi: Recoger y dejar pasajeros GIF del entorno Taxi.

Reinforcement Learning con Gymnasium en Python

Interfaz de Gymnasium

 

  • Unificada para todos los entornos
  • Incluye funciones y métodos para:
    • Inicializar el entorno
    • Representarlo visualmente
    • Ejecutar acciones
    • Observar resultados

GIF del entorno CartPole.

Reinforcement Learning con Gymnasium en Python

Crear e inicializar el entorno

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

Visualizar el estado

 

import matplotlib.pyplot as plt

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

plt.show()

Gráfico del estado inicial en CartPole.

Reinforcement Learning con Gymnasium en Python

Visualizar el estado

 

import matplotlib.pyplot as plt

def render(): state_image = env.render() plt.imshow(state_image) plt.show()
# Call function render()

Gráfico del estado inicial en CartPole.

Reinforcement Learning con Gymnasium en Python

Ejecutar acciones

  • 0: mover a la izquierda
  • 1: mover a la derecha
action = 1 
state, reward, terminated, truncated, info = env.step(action)




Reinforcement Learning con Gymnasium en Python

Ejecutar acciones

  • 0: mover a la izquierda
  • 1: mover a la derecha
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 con Gymnasium en Python

Bucles de interacción

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

Imagen con cuatro estados distintos en CartPole, capturados durante el bucle de interacción.

Reinforcement Learning con Gymnasium en Python

¡Vamos a practicar!

Reinforcement Learning con Gymnasium en Python

Preparing Video For Download...