
Среда обучения Pygame (PLE) - это учебная среда, имитирующая интерфейс Arcade Learning Environment, что позволяет быстро усилить обучение в Python. Цель PLE - позволить практикующим специалистам фокусировать дизайн моделей и экспериментов вместо дизайна окружающей среды.
Пле надеется в конечном итоге построить обширную библиотеку игр.
Принимая PRS для игр.
Документы для проекта можно найти здесь. В настоящее время они WIP.
Доступные игры можно найти в документах.
Экземпляр PLE требует игры, разоблачающей набор методов управления. Чтобы увидеть необходимые методы, посмотрите на ple/games/base.py .
Вот пример импорта понга из библиотеки игр в PLE:
from ple . games . pong import Pong
game = Pong ()Далее мы настроим и инициализируем PLE:
from ple import PLE
p = PLE ( game , fps = 30 , display_screen = True , force_fps = False )
p . init () Приведенные выше параметры инструктируют PLE отобразить экран игры, с display_screen , в то же время позволяя Pygame выбирать соответствующее время задержки между кадрами, чтобы гарантировать 30 кадров в секунду с force_fps .
Вы можете использовать любого агента с PLE. Ниже мы создаем вымышленного агента и захватываем действительные действия:
myAgent = MyAgent ( p . getActionSet ())Теперь мы можем иметь наш агент с помощью PLE, взаимодействовать с игрой по определенному количеству кадров:
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 )Точно так же, как у нас есть наш агент, взаимодействующий с нашей игровой средой.
PLE требует следующих зависимостей:
Клонировать репо и установить с помощью PIP.
git clone https://github.com/ntasfi/PyGame-Learning-Environment.git
cd PyGame-Learning-Environment/
pip install -e . Установите следующее в вашем коде перед использованием:
os . putenv ( 'SDL_VIDEODRIVER' , 'fbcon' )
os . environ [ "SDL_VIDEODRIVER" ] = "dummy"Спасибо @wooridle.
cd в каталоге PyGame-Learning-Environment и запустите следующее:
git pullЕсли PLE помог вашим исследованиям, пожалуйста, укажите это в ваших публикациях. Пример записи 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}}
}