Home
Login

Gym ist ein Toolkit zur Entwicklung und zum Vergleich von Algorithmen für bestärkendes Lernen. Es unterstützt das Lehren von Agenten, Entscheidungen in verschiedenen simulierten Umgebungen zu treffen.

NOASSERTIONPython 36.1kopenai Last Updated: 2024-10-11

Detaillierte Beschreibung des OpenAI Gym Projekts

Projektübersicht

OpenAI Gym ist eine Open-Source-Python-Bibliothek, die speziell für die Entwicklung und den Vergleich von Reinforcement-Learning-Algorithmen entwickelt wurde. Sie bietet eine standardisierte API, um Lernalgorithmen und Umgebungen zu verbinden, und stellt eine Reihe von Umgebungen bereit, die diesem API-Standard entsprechen. Seit ihrer Veröffentlichung hat sich die Gym-API zum Standard im Bereich des Reinforcement Learning entwickelt.

⚠️ Wichtiger Hinweis

Änderung des Projektwartungsstatus: Das Team, das Gym seit 2021 gewartet hat, hat alle zukünftigen Entwicklungsarbeiten auf Gymnasium übertragen, einen direkten Ersatz für Gym (der mit import gymnasium as gym verwendet werden kann). Gym wird keine zukünftigen Updates mehr erhalten, und es wird empfohlen, dass Benutzer so schnell wie möglich zu Gymnasium wechseln.

Kernfunktionen

Standardisierte API

  • Bietet eine einheitliche Schnittstelle für die Kommunikation zwischen Reinforcement-Learning-Algorithmen und Umgebungen
  • Vereinfacht die Erstellung und Interaktion mit Umgebungen
  • Ist zum API-Standard im Bereich des Reinforcement Learning geworden

Umfangreiche Umgebungsbibliothek

  • Enthält eine große Anzahl vordefinierter Reinforcement-Learning-Umgebungen
  • Unterstützt verschiedene Arten von Aufgaben und Herausforderungen
  • Umgebungen folgen einem einheitlichen Schnittstellenstandard

Installationsmethoden

Basisinstallation

pip install gym

Installation spezifischer Umgebungsfamilien

# Installation der Atari-Umgebungsabhängigkeiten
pip install gym[atari]

# Installation aller Umgebungsabhängigkeiten
pip install gym[all]

# Installation der MuJoCo-Umgebungsabhängigkeiten (neueste Version)
pip install gym[mujoco]

# Installation der MuJoCo-Umgebungsabhängigkeiten (ältere Version)
pip install gym[mujoco_py]

Systemunterstützung

  • Python-Versionen: Unterstützt Python 3.7, 3.8, 3.9, 3.10
  • Betriebssysteme: Offiziell unterstützt werden Linux und macOS
  • Windows: PRs werden akzeptiert, aber es gibt keinen offiziellen Support

Grundlegendes Nutzungsbeispiel

import gym

# Umgebung erstellen
env = gym.make("CartPole-v1")

# Umgebung zurücksetzen
observation, info = env.reset(seed=42)

# Umgebung-Interaktionsschleife
for _ in range(1000):
    # Zufällige Aktion auswählen
    action = env.action_space.sample()
    
    # Aktion ausführen
    observation, reward, terminated, truncated, info = env.step(action)
    
    # Prüfen, ob ein Reset erforderlich ist
    if terminated or truncated:
        observation, info = env.reset()

# Umgebung schließen
env.close()

Zugehöriges Ökosystem

Empfohlene Lernbibliotheken

  1. CleanRL - Lernbibliothek basierend auf der Gym-API

    • Ausgerichtet auf Reinforcement-Learning-Anfänger
    • Bietet hervorragende Referenzimplementierungen
  2. Tianshou - Lernbibliothek für erfahrene Benutzer

    • Unterstützt komplexe Algorithmusänderungen
    • Flexibles Design
  3. RLlib - Lernbibliothek zur Unterstützung von verteiltem Training

    • Unterstützt verteiltes Training und Inferenz
    • Extrem umfangreiche Funktionen
  4. PettingZoo - Multi-Agenten-Umgebungsbibliothek

    • Ähnlich wie Gym, aber unterstützt Multi-Agenten-Umgebungen

Versionsverwaltung

Gym verwendet eine strenge Versionskontrolle, um die Reproduzierbarkeit zu gewährleisten:

  • Alle Umgebungen enden mit einem Versionssuffix (z. B. "_v0")
  • Wenn sich eine Umgebungsänderung auf die Lernergebnisse auswirken kann, wird die Versionsnummer erhöht
  • Gewährleistet die Reproduzierbarkeit und Konsistenz von Experimenten

MuJoCo-Umgebungsaktualisierung

  • Die neuesten "_v4"- und zukünftigen Versionen sind nicht mehr von mujoco-py abhängig
  • Verwenden stattdessen mujoco als erforderliche Abhängigkeit
  • Ältere Versionen der Umgebung bleiben erhalten, werden aber nicht mehr gewartet

Dokumentation und Ressourcen

Akademische Zitation

Das Projekt-Whitepaper ist auf arXiv verfügbar, Zitationsformat:

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

Projektstatuszusammenfassung

OpenAI Gym hat als bahnbrechendes Werkzeug im Bereich des Reinforcement Learning einen Industriestandard etabliert und ein riesiges Ökosystem gefördert. Obwohl das ursprüngliche Projekt nicht mehr aktiv gewartet wird, übernimmt sein Nachfolger Gymnasium alle Kernfunktionen und gewährleistet so die kontinuierliche Weiterentwicklung der Community. Für neue Projekte wird dringend empfohlen, Gymnasium direkt zu verwenden, um die neuesten Funktionen und kontinuierlichen Support zu erhalten.