Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Fundamentos de Gymnasium | Teoría Central de RL
Introducción al Aprendizaje por Refuerzo

bookFundamentos de Gymnasium

Gymnasium es un conjunto de herramientas de código abierto diseñado para desarrollar y evaluar agentes de aprendizaje por refuerzo (RL). Proporciona una colección de entornos estándar para probar algoritmos y entrenar agentes de manera eficiente.

Características principales

  • API estandarizada: garantiza compatibilidad entre diferentes entornos;
  • Variedad de entornos: admite problemas clásicos de control, juegos de Atari y simulaciones de robótica;
  • Fácil integración: compatible con frameworks de aprendizaje profundo como TensorFlow y PyTorch.

Flujo de trabajo

Un flujo de trabajo típico en Gymnasium es el siguiente:

1. Importar la biblioteca

import gymnasium as gym

Después de que la biblioteca original gym fuera discontinuada, ahora se recomienda utilizar gymnasium, un fork de gym bien mantenido y en desarrollo activo. A pesar del cambio de nombre, la biblioteca sigue importándose comúnmente con el alias gym por compatibilidad retroactiva y conveniencia.

2. Crear un entorno

env = gym.make("CartPole-v1")

La función gym.make() instancia un entorno utilizando su identificador único (por ejemplo, "CartPole-v1"). También se pueden pasar parámetros de configuración adicionales según los requisitos del entorno.

3. Reiniciar el entorno

observation, info = env.reset()

Antes de interactuar con el entorno, es necesario reiniciarlo a su estado inicial usando env.reset(). Esto devuelve:

  • observation: el estado inicial del entorno;
  • info: datos auxiliares que pueden incluir metadatos o configuraciones específicas del estado.

4. Interactuar con el entorno

action = env.action_space.sample()
observation, reward, terminated, truncated, info = env.step(action)

En la primera línea, se elige una acción aleatoria del espacio de acciones usando env.action_space.sample(). El espacio de acciones define el conjunto de todas las acciones posibles que el agente puede tomar en el entorno. Además, el entorno proporciona el espacio de observación, que se puede acceder mediante env.observation_space y representa el conjunto de todas las observaciones (estados) posibles que el agente puede encontrar.

En la segunda línea, la acción elegida se pasa a env.step(action), que ejecuta la acción y devuelve lo siguiente:

  • observation: el nuevo estado del agente después de realizar la acción;
  • reward: la recompensa recibida por la acción realizada;
  • terminated: un valor booleano que indica si el episodio ha terminado (es decir, si la tarea está completa);
  • truncated: un valor booleano que indica si el episodio fue detenido prematuramente (por tiempo u otras restricciones);
  • info: información de diagnóstico adicional, utilizada a menudo para depuración o registro.

5. Cerrar el entorno

env.close()

Si el entorno utiliza recursos externos (por ejemplo, ventanas de renderizado o simulaciones), se debe cerrar usando env.close().

Note
Estudiar más

Si desea conocer más sobre las funcionalidades que ofrece la biblioteca Gymnasium, visite their website.

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 7

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

What are some popular environments available in Gymnasium?

Can you explain the difference between terminated and truncated in more detail?

How do I integrate Gymnasium with TensorFlow or PyTorch?

Awesome!

Completion rate improved to 2.7

bookFundamentos de Gymnasium

Desliza para mostrar el menú

Gymnasium es un conjunto de herramientas de código abierto diseñado para desarrollar y evaluar agentes de aprendizaje por refuerzo (RL). Proporciona una colección de entornos estándar para probar algoritmos y entrenar agentes de manera eficiente.

Características principales

  • API estandarizada: garantiza compatibilidad entre diferentes entornos;
  • Variedad de entornos: admite problemas clásicos de control, juegos de Atari y simulaciones de robótica;
  • Fácil integración: compatible con frameworks de aprendizaje profundo como TensorFlow y PyTorch.

Flujo de trabajo

Un flujo de trabajo típico en Gymnasium es el siguiente:

1. Importar la biblioteca

import gymnasium as gym

Después de que la biblioteca original gym fuera discontinuada, ahora se recomienda utilizar gymnasium, un fork de gym bien mantenido y en desarrollo activo. A pesar del cambio de nombre, la biblioteca sigue importándose comúnmente con el alias gym por compatibilidad retroactiva y conveniencia.

2. Crear un entorno

env = gym.make("CartPole-v1")

La función gym.make() instancia un entorno utilizando su identificador único (por ejemplo, "CartPole-v1"). También se pueden pasar parámetros de configuración adicionales según los requisitos del entorno.

3. Reiniciar el entorno

observation, info = env.reset()

Antes de interactuar con el entorno, es necesario reiniciarlo a su estado inicial usando env.reset(). Esto devuelve:

  • observation: el estado inicial del entorno;
  • info: datos auxiliares que pueden incluir metadatos o configuraciones específicas del estado.

4. Interactuar con el entorno

action = env.action_space.sample()
observation, reward, terminated, truncated, info = env.step(action)

En la primera línea, se elige una acción aleatoria del espacio de acciones usando env.action_space.sample(). El espacio de acciones define el conjunto de todas las acciones posibles que el agente puede tomar en el entorno. Además, el entorno proporciona el espacio de observación, que se puede acceder mediante env.observation_space y representa el conjunto de todas las observaciones (estados) posibles que el agente puede encontrar.

En la segunda línea, la acción elegida se pasa a env.step(action), que ejecuta la acción y devuelve lo siguiente:

  • observation: el nuevo estado del agente después de realizar la acción;
  • reward: la recompensa recibida por la acción realizada;
  • terminated: un valor booleano que indica si el episodio ha terminado (es decir, si la tarea está completa);
  • truncated: un valor booleano que indica si el episodio fue detenido prematuramente (por tiempo u otras restricciones);
  • info: información de diagnóstico adicional, utilizada a menudo para depuración o registro.

5. Cerrar el entorno

env.close()

Si el entorno utiliza recursos externos (por ejemplo, ventanas de renderizado o simulaciones), se debe cerrar usando env.close().

Note
Estudiar más

Si desea conocer más sobre las funcionalidades que ofrece la biblioteca Gymnasium, visite their website.

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 7
some-alt