Home
Login

Gym est une boîte à outils pour développer et comparer des algorithmes d'apprentissage par renforcement. Il prend en charge l'enseignement aux agents comment prendre des décisions dans divers environnements simulés.

NOASSERTIONPython 36.1kopenai Last Updated: 2024-10-11

Présentation détaillée du projet OpenAI Gym

Aperçu du projet

OpenAI Gym est une bibliothèque Python open source spécialement conçue pour le développement et la comparaison d'algorithmes d'apprentissage par renforcement. Elle fournit une API standardisée pour connecter les algorithmes d'apprentissage et les environnements, et propose un ensemble d'environnements conformes à cette norme API. Depuis sa publication, l'API de Gym est devenue la norme dans le domaine de l'apprentissage par renforcement.

⚠️ Déclaration importante

Changement d'état de la maintenance du projet : L'équipe qui a maintenu Gym depuis 2021 a transféré tous les futurs travaux de développement vers Gymnasium, un remplacement direct de Gym (qui peut être utilisé avec import gymnasium as gym). Gym ne recevra plus de mises à jour futures et il est recommandé aux utilisateurs de passer à Gymnasium dès que possible.

Caractéristiques principales

API standardisée

  • Fournit une interface unifiée pour la communication entre les algorithmes d'apprentissage par renforcement et les environnements.
  • Simplifie le processus de création et d'interaction avec les environnements.
  • Est devenue la norme API dans le domaine de l'apprentissage par renforcement.

Riche bibliothèque d'environnements

  • Contient une grande quantité d'environnements d'apprentissage par renforcement prédéfinis.
  • Prend en charge différents types de tâches et de défis.
  • Les environnements respectent une norme d'interface unifiée.

Méthode d'installation

Installation de base

pip install gym

Installation de familles d'environnements spécifiques

# Installer les dépendances pour les environnements Atari
pip install gym[atari]

# Installer toutes les dépendances pour tous les environnements
pip install gym[all]

# Installer les dépendances pour les environnements MuJoCo (dernière version)
pip install gym[mujoco]

# Installer les dépendances pour les environnements MuJoCo (ancienne version)
pip install gym[mujoco_py]

Support système

  • Version de Python : Supporte Python 3.7, 3.8, 3.9, 3.10
  • Systèmes d'exploitation : Support officiel pour Linux et macOS
  • Windows : Les PR (Pull Requests) sont acceptées, mais pas de support officiel

Exemple d'utilisation basique

import gym

# Créer un environnement
env = gym.make("CartPole-v1")

# Réinitialiser l'environnement
observation, info = env.reset(seed=42)

# Boucle d'interaction avec l'environnement
for _ in range(1000):
    # Choisir une action aléatoire
    action = env.action_space.sample()
    
    # Exécuter l'action
    observation, reward, terminated, truncated, info = env.step(action)
    
    # Vérifier si une réinitialisation est nécessaire
    if terminated or truncated:
        observation, info = env.reset()

# Fermer l'environnement
env.close()

Écosystème associé

Bibliothèques d'apprentissage recommandées

  1. CleanRL - Bibliothèque d'apprentissage basée sur l'API Gym

    • Destinée aux débutants en apprentissage par renforcement
    • Fournit d'excellentes implémentations de référence
  2. Tianshou - Bibliothèque d'apprentissage destinée aux utilisateurs expérimentés

    • Prend en charge les modifications complexes d'algorithmes
    • Conception flexible
  3. RLlib - Bibliothèque d'apprentissage prenant en charge l'entraînement distribué

    • Prend en charge l'entraînement et l'inférence distribués
    • Fonctionnalités extrêmement riches
  4. PettingZoo - Bibliothèque d'environnements multi-agents

    • Similaire à Gym mais prend en charge les environnements multi-agents

Gestion des versions

Gym utilise un contrôle de version strict pour garantir la reproductibilité :

  • Tous les environnements se terminent par un suffixe de version (par exemple, "_v0")
  • Le numéro de version est incrémenté lorsque les modifications de l'environnement peuvent affecter les résultats de l'apprentissage
  • Assure la reproductibilité et la cohérence des expériences

Mise à jour des environnements MuJoCo

  • Les dernières versions "_v4" et les versions futures ne dépendent plus de mujoco-py
  • Utilise désormais mujoco comme dépendance requise
  • Les anciennes versions des environnements sont conservées mais ne sont plus maintenues

Documentation et ressources

Citation académique

Le livre blanc du projet est disponible sur arXiv, format de citation :

@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},
}

Résumé de l'état du projet

OpenAI Gym, en tant qu'outil pionnier dans le domaine de l'apprentissage par renforcement, a établi une norme industrielle et a favorisé un vaste écosystème. Bien que le projet original ne soit plus activement maintenu, son successeur, Gymnasium, hérite de toutes les fonctionnalités de base, assurant ainsi le développement continu de la communauté. Pour les nouveaux projets, il est fortement recommandé d'utiliser directement Gymnasium pour bénéficier des dernières fonctionnalités et d'un support continu.