GenRL es una biblioteca de aprendizaje de refuerzo de Pytorch centrada en implementaciones de algoritmos reproducibles y generalizables y mejorando la accesibilidad en el aprendizaje de refuerzo
La versión actual de GenRL está en V0.0.2. Espere cambios de ruptura
La investigación de aprendizaje de refuerzo se mueve más rápido que nunca. Para mantenerse al día con la tendencia creciente y garantizar que la investigación de RL sea reproducible, GenRL tiene como objetivo ayudar a la reproducción y la evaluación comparativa de papel más rápida al proporcionar las siguientes características principales:
Al integrar estas características en GenRL, nuestro objetivo es eventualmente apoyar cualquier nueva implementación de algoritmo en menos de 100 líneas .
Si está interesado en contribuir, no dude en pasar por los problemas y abrir PRS para código, documentos, pruebas, etc. En caso de cualquier pregunta, consulte las pautas contribuyentes
GenRL es compatible con Python 3.6 o posterior y también depende de pytorch
y openai-gym
. La forma más fácil de instalar GenRL es con Pip, el instalador de paquetes preferidos de Python.
$ pip install genrl
Tenga en cuenta que GenRL es un proyecto activo y publica rutinariamente nuevos lanzamientos. Para actualizar GENRL a la última versión, use PIP de la siguiente manera.
$ pip install -U genrl
Si tiene la intención de instalar la última versión inédita de la biblioteca (es decir, desde la fuente), simplemente puede hacer:
$ git clone https://github.com/SforAiDl/genrl.git
$ cd genrl
$ python setup.py install
Para entrenar un modelo crítico de actor suave desde cero en el entorno del gimnasio Pendulum-v0
y las recompensas de registro en Tensorboard
import gym
from genrl . agents import SAC
from genrl . trainers import OffPolicyTrainer
from genrl . environments import VectorEnv
env = VectorEnv ( "Pendulum-v0" )
agent = SAC ( 'mlp' , env )
trainer = OffPolicyTrainer ( agent , env , log_mode = [ 'stdout' , 'tensorboard' ])
trainer . train ()
Para entrenar un modelo Tabular Dyna-Q desde cero en el entorno de gimnasio FrozenLake-v0
y recompensas de la trama:
import gym
from genrl . agents import QLearning
from genrl . trainers import ClassicalTrainer
env = gym . make ( "FrozenLake-v0" )
agent = QLearning ( env )
trainer = ClassicalTrainer ( agent , env , mode = "dyna" , model = "tabular" , n_episodes = 10000 )
episode_rewards = trainer . train ()
trainer . plot ( episode_rewards )