
Die Pygame -Lernumgebung (PLE) ist eine Lernumgebung, die die Arcade -Lernumgebung nachahmt und einen schnellen Start in die Verstärkung in Python ermöglicht. Das Ziel von PLE ist es Praktikern, das Design von Modellen und Experimenten anstelle von Umgebungsdesigns zu fokussieren.
PLE hofft, schließlich eine weitläufige Bibliothek von Spielen aufzubauen.
PRS für Spiele akzeptieren.
Dokumente für das Projekt finden Sie hier. Sie sind derzeit WIP.
Verfügbare Spiele finden Sie in den Dokumenten.
Eine PLE -Instanz erfordert ein Spiel, das eine Reihe von Kontrollmethoden enthüllt. Um die erforderlichen Methoden anzusehen, untersuchen Sie ple/games/base.py .
Hier ist ein Beispiel für das Importieren von Pong aus der Spielbibliothek innerhalb von PLE:
from ple . games . pong import Pong
game = Pong ()Als nächstes konfigurieren und initialisieren wir PLE:
from ple import PLE
p = PLE ( game , fps = 30 , display_screen = True , force_fps = False )
p . init () Die obigen Optionen anweisen PLE, den Spielbildschirm mit display_screen anzuzeigen, während PyGame das entsprechende Verzögerungszeitpunkt zwischen den Frames auswählen kann, um 30 fps mit force_fps zu gewährleisten.
Sie können jeden Agenten mit der PLE verwenden. Im Folgenden erstellen wir einen fiktiven Agenten und ergreifen die gültigen Aktionen:
myAgent = MyAgent ( p . getActionSet ())Wir können jetzt unseren Agenten mit Hilfe von PLE über eine bestimmte Anzahl von Frames mit dem Spiel interagieren:
nb_frames = 1000
reward = 0.0
for f in range ( nb_frames ):
if p . game_over (): #check if the game is over
p . reset_game ()
obs = p . getScreenRGB ()
action = myAgent . pickAction ( reward , obs )
reward = p . act ( action )Einfach so haben wir unseren Agenten mit unserer Spielumgebung interagieren.
PLE benötigt die folgenden Abhängigkeiten:
Klonen Sie das Repo und installieren Sie mit PIP.
git clone https://github.com/ntasfi/PyGame-Learning-Environment.git
cd PyGame-Learning-Environment/
pip install -e . Stellen Sie vor der Nutzung Folgendes in Ihrem Code ein:
os . putenv ( 'SDL_VIDEODRIVER' , 'fbcon' )
os . environ [ "SDL_VIDEODRIVER" ] = "dummy"Vielen Dank an @wooridle.
cd in das Verzeichnis PyGame-Learning-Environment und führen Sie Folgendes aus:
git pullWenn PLE Ihren Forschungen geholfen hat, zitieren Sie sie bitte in Ihren Veröffentlichungen. Beispiel Bibtex -Eintrag:
@misc{tasfi2016PLE,
author = {Tasfi, Norman},
title = {PyGame Learning Environment},
year = {2016},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {url{https://github.com/ntasfi/PyGame-Learning-Environment}}
}