PLE (Pygame Learning Environment) 는 학습 환경으로 아케이드 학습 환경 인터페이스를 모방하여 Python의 빠른 강화 학습을 시작할 수 있습니다. PLE의 목표는 실무자들이 환경 설계 대신 모델과 실험의 설계에 초점을 맞출 수 있습니다.
Ple은 결국 광대 한 게임 라이브러리를 구축하기를 희망합니다.
게임에 대한 PR을 수락합니다.
프로젝트의 문서는 여기에서 찾을 수 있습니다. 그들은 현재 WIP입니다.
사용 가능한 게임은 문서에서 찾을 수 있습니다.
PLE
인스턴스에는 일련의 제어 방법을 노출시키는 게임이 필요합니다. 필요한 방법을 보려면 ple/games/base.py
를보십시오.
다음은 PLE 내 게임 라이브러리에서 Pong을 가져 오는 예입니다.
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은 force_fps
를 사용하여 30fps를 보장하기 위해 프레임간에 적절한 지연 타이밍을 선택할 수 있도록합니다.
당신은 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
Directory로 CD를하고 다음을 실행하십시오.
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}}
}