
El entorno de aprendizaje de Pygame (PLE) es un entorno de aprendizaje, imitando la interfaz de entorno de aprendizaje arcade, lo que permite un comienzo rápido al aprendizaje de refuerzo en Python. El objetivo de PLE es permitir a los profesionales enfocar el diseño de modelos y experimentos en lugar del diseño del entorno.
PLE espera eventualmente construir una expansiva biblioteca de juegos.
Aceptar PRS para juegos.
Los documentos para el proyecto se pueden encontrar aquí. Actualmente son WIP.
Los juegos disponibles se pueden encontrar en los documentos.
Una instancia PLE requiere un juego que exponga un conjunto de métodos de control. Para ver los métodos requeridos, mire ple/games/base.py .
Aquí hay un ejemplo de importación de Pong de la biblioteca de juegos dentro de PLE:
from ple . games . pong import Pong
game = Pong ()A continuación, configuramos e inicializamos PLE:
from ple import PLE
p = PLE ( game , fps = 30 , display_screen = True , force_fps = False )
p . init () Las opciones anteriores instruyen a PLE a mostrar la pantalla del juego, con display_screen , al tiempo que permite que PyGame seleccione el tiempo de retraso apropiado entre los cuadros para garantizar 30 fps con force_fps .
Usted es libre de usar cualquier agente con el PLE. A continuación creamos un agente ficticio y tomamos las acciones válidas:
myAgent = MyAgent ( p . getActionSet ())Ahora podemos tener a nuestro agente, con la ayuda de PLE, interactuar con el juego sobre un cierto número de cuadros:
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 )Al igual que tenemos a nuestro agente interactuando con nuestro entorno de juego.
PLE requiere las siguientes dependencias:
Clonar el repositorio e instalar con PIP.
git clone https://github.com/ntasfi/PyGame-Learning-Environment.git
cd PyGame-Learning-Environment/
pip install -e . Establezca lo siguiente en su código antes del uso:
os . putenv ( 'SDL_VIDEODRIVER' , 'fbcon' )
os . environ [ "SDL_VIDEODRIVER" ] = "dummy"Gracias a @wooridle.
cd en el directorio PyGame-Learning-Environment y ejecuta lo siguiente:
git pullSi PLE ha ayudado a su investigación, cíquelo en sus publicaciones. Ejemplo de entrada 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}}
}