
Pygame Learning Environment (PLE) est un environnement d'apprentissage, imitant l'interface d'Arcade Learning Environment, permettant rapidement l'apprentissage de renforcement à Python. L'objectif du PLE est de permettre aux praticiens de concentrer la conception des modèles et des expériences au lieu de la conception de l'environnement.
Ple espère éventuellement construire une vaste bibliothèque de jeux.
Accepter les PR pour les jeux.
Les documents du projet peuvent être trouvés ici. Ils sont actuellement WIP.
Les jeux disponibles peuvent être trouvés dans les documents.
Une instance PLE nécessite un jeu exposant un ensemble de méthodes de contrôle. Pour voir les méthodes requises, consultez ple/games/base.py
Voici un exemple d'importation de pong de la bibliothèque de jeux dans PLE:
from ple . games . pong import Pong
game = Pong ()Ensuite, nous configurons et initialisons PLE:
from ple import PLE
p = PLE ( game , fps = 30 , display_screen = True , force_fps = False )
p . init () Les options ci-dessus permettent à PLE d'afficher l'écran de jeu, avec display_screen , tout en permettant à Pygame de sélectionner le délai de retard approprié entre les trames pour assurer 30FPS avec force_fps .
Vous êtes libre d'utiliser n'importe quel agent avec le PLE. Ci-dessous, nous créons un agent fictif et prenons les actions valides:
myAgent = MyAgent ( p . getActionSet ())Nous pouvons maintenant avoir notre agent, avec l'aide de PLE, interagir avec le jeu sur un certain nombre de cadres:
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 )Tout comme ça, notre agent interagit avec notre environnement de jeu.
Le PLE nécessite les dépendances suivantes:
Clone le repo et installez avec PIP.
git clone https://github.com/ntasfi/PyGame-Learning-Environment.git
cd PyGame-Learning-Environment/
pip install -e . Définissez ce qui suit dans votre code avant l'utilisation:
os . putenv ( 'SDL_VIDEODRIVER' , 'fbcon' )
os . environ [ "SDL_VIDEODRIVER" ] = "dummy"Merci à @wooridle.
cd dans le répertoire PyGame-Learning-Environment et exécutez ce qui suit:
git pullSi PLE a aidé vos recherches, veuillez la citer dans vos publications. Exemple d'entrée Bibtex:
@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}}
}