Home
Login
openai/gym

Gym es un kit de herramientas para desarrollar y comparar algoritmos de aprendizaje por refuerzo. Admite la enseñanza de agentes sobre cómo tomar decisiones en una variedad de entornos simulados.

NOASSERTIONPython 36.1kopenai Last Updated: 2024-10-11
https://github.com/openai/gym

Introducción Detallada al Proyecto OpenAI Gym

Resumen del Proyecto

OpenAI Gym es una biblioteca de Python de código abierto, diseñada específicamente para desarrollar y comparar algoritmos de aprendizaje por refuerzo. Proporciona una API estandarizada para conectar algoritmos de aprendizaje y entornos, y ofrece un conjunto de entornos que cumplen con este estándar de API. Desde su lanzamiento, la API de Gym se ha convertido en el estándar en el campo del aprendizaje por refuerzo.

⚠️ Declaración Importante

Cambio en el Estado de Mantenimiento del Proyecto: El equipo que ha mantenido Gym desde 2021 ha transferido todo el trabajo de desarrollo futuro a Gymnasium, que es un reemplazo directo de Gym (se puede usar import gymnasium as gym). Gym ya no recibirá ninguna actualización futura, y se recomienda a los usuarios que cambien a Gymnasium lo antes posible.

Características Principales

API Estandarizada

  • Proporciona una interfaz unificada para la comunicación entre algoritmos de aprendizaje por refuerzo y entornos.
  • Simplifica el proceso de creación e interacción con entornos.
  • Se ha convertido en el estándar de API en el campo del aprendizaje por refuerzo.

Amplia Biblioteca de Entornos

  • Contiene una gran cantidad de entornos de aprendizaje por refuerzo predefinidos.
  • Admite varios tipos de tareas y desafíos.
  • Todos los entornos siguen un estándar de interfaz unificado.

Método de Instalación

Instalación Básica

pip install gym

Instalación de Familias de Entornos Específicas

# Instalar dependencias para entornos Atari
pip install gym[atari]

# Instalar dependencias para todos los entornos
pip install gym[all]

# Instalar dependencias para entornos MuJoCo (versión más reciente)
pip install gym[mujoco]

# Instalar dependencias para entornos MuJoCo (versión antigua)
pip install gym[mujoco_py]

Soporte del Sistema

  • Versiones de Python: Soporta Python 3.7, 3.8, 3.9, 3.10
  • Sistemas Operativos: Soporte oficial para Linux y macOS
  • Windows: Se aceptan PRs relacionados, pero no se proporciona soporte oficial

Ejemplo de Uso Básico

import gym

# Crear el entorno
env = gym.make("CartPole-v1")

# Reiniciar el entorno
observation, info = env.reset(seed=42)

# Bucle de interacción con el entorno
for _ in range(1000):
    # Seleccionar una acción aleatoria
    action = env.action_space.sample()
    
    # Ejecutar la acción
    observation, reward, terminated, truncated, info = env.step(action)
    
    # Comprobar si es necesario reiniciar
    if terminated or truncated:
        observation, info = env.reset()

# Cerrar el entorno
env.close()

Ecosistema Relacionado

Bibliotecas de Aprendizaje Recomendadas

  1. CleanRL - Biblioteca de aprendizaje basada en la API de Gym

    • Orientada a principiantes en aprendizaje por refuerzo
    • Proporciona excelentes implementaciones de referencia
  2. Tianshou - Biblioteca de aprendizaje para usuarios experimentados

    • Admite modificaciones complejas de algoritmos
    • Diseño flexible
  3. RLlib - Biblioteca de aprendizaje que admite entrenamiento distribuido

    • Admite entrenamiento e inferencia distribuidos
    • Funcionalidades extremadamente ricas
  4. PettingZoo - Biblioteca de entornos multiagente

    • Similar a Gym pero admite entornos multiagente

Gestión de Versiones

Gym utiliza un control de versiones estricto para garantizar la reproducibilidad:

  • Todos los entornos terminan con un sufijo de versión (como "_v0")
  • Cuando un cambio en el entorno puede afectar los resultados del aprendizaje, el número de versión se incrementa
  • Garantiza la reproducibilidad y la consistencia de los experimentos

Actualización de Entornos MuJoCo

  • Las versiones más recientes "_v4" y futuras ya no dependen de mujoco-py
  • En cambio, utilizan mujoco como dependencia obligatoria
  • Las versiones antiguas de los entornos se conservan pero ya no se mantienen

Documentación y Recursos

Cita Académica

El documento técnico del proyecto está disponible en arXiv, formato de cita:

@misc{1606.01540,
  Author = {Greg Brockman and Vicki Cheung and Ludwig Pettersson and Jonas Schneider and John Schulman and Jie Tang and Wojciech Zaremba},
  Title = {OpenAI Gym},
  Year = {2016},
  Eprint = {arXiv:1606.01540},
}

Resumen del Estado del Proyecto

OpenAI Gym, como herramienta pionera en el campo del aprendizaje por refuerzo, ha establecido un estándar de la industria y ha fomentado un vasto ecosistema. Aunque el proyecto original ya no se mantiene activamente, su sucesor, Gymnasium, hereda todas las funciones principales, lo que garantiza el desarrollo continuo de la comunidad. Para los nuevos proyectos, se recomienda encarecidamente utilizar Gymnasium directamente para obtener las últimas funciones y soporte continuo.