Genrl est une bibliothèque d'apprentissage en renforcement Pytorch centrée sur des implémentations d'algorithmes reproductibles et généralisables et d'amélioration de l'accessibilité dans l'apprentissage du renforcement
La version actuelle de Genrl est à V0.0.2. Attendez-vous à des changements de rupture
La recherche d'apprentissage par renforcement évolue plus rapidement que jamais. Afin de suivre la tendance croissante et de s'assurer que la recherche RL reste reproductible, Genrl vise à aider à la reproduction du papier et à l'analyse comparative en fournissant les principales caractéristiques suivantes:
En intégrant ces fonctionnalités dans Genrl, nous visons à soutenir éventuellement toute nouvelle implémentation d'algorithme dans moins de 100 lignes .
Si vous êtes intéressé à contribuer, n'hésitez pas à passer par les problèmes et à ouvrir des RP pour le code, les documents, les tests, etc. En cas de questions, veuillez consulter les directives contributives
Genrl est compatible avec Python 3.6 ou version ultérieure et dépend également de pytorch
et openai-gym
. La façon la plus simple d'installer Genrl est avec PIP, le programme d'installation de package préféré de Python.
$ pip install genrl
Notez que Genrl est un projet actif et publie régulièrement de nouvelles versions. Afin de mettre à niveau Genrl vers la dernière version, utilisez PIP comme suit.
$ pip install -U genrl
Si vous avez l'intention d'installer la dernière version inédite de la bibliothèque (c'est-à-dire de Source), vous pouvez simplement faire:
$ git clone https://github.com/SforAiDl/genrl.git
$ cd genrl
$ python setup.py install
Pour entraîner un modèle acteur-critique doux à partir de zéro sur l'environnement de gymnase Pendulum-v0
et les récompenses de journal sur 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 ()
Pour entraîner un modèle tabulaire Dyna-Q à partir de zéro sur l'environnement de gym FrozenLake-v0
et les récompenses de l'intrigue:
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 )