Genrl ist eine Bibliothek zur Verstärkung der Verstärkung, die sich um reproduzierbare, verallgemeinerbare Algorithmus -Implementierungen konzentriert und die Zugänglichkeit beim Verstärkungslernen verbessert
Die aktuelle Freisetzung von Genrl liegt bei V0.0.2. Erwarten Sie Breaking -Veränderungen
Die Forschungsforschung der Verstärkung bewegt sich schneller als je zuvor. Um mit dem wachsenden Trend Schritt zu halten und sicherzustellen, dass die RL -Forschung reproduzierbar bleibt, soll Genrl eine schnellere Reproduktion und Benchmarking für Papier helfen, indem sie die folgenden Hauptmerkmale bereitstellen:
Durch die Integration dieser Merkmale in GenrL sind wir letztendlich eine neue Algorithmus -Implementierung in weniger als 100 Zeilen unterstützen.
Wenn Sie einen Beitrag leisten möchten, können Sie die Probleme durchlaufen und PRs für Code, Dokumente, Tests usw. öffnen, wenn Sie Fragen haben, bitte lesen Sie die beitragenden Richtlinien
Genrl ist mit Python 3.6 oder später kompatibel und hängt auch von pytorch und openai-gym ab. Der einfachste Weg, Genrl zu installieren, ist PIP, Python's Preferred Package Installer.
$ pip install genrl
Beachten Sie, dass Genrl ein aktives Projekt ist und routinemäßig neue Releases veröffentlicht. Verwenden Sie PIP wie folgt, um Genrl auf die neueste Version zu verbessern.
$ pip install -U genrl
Wenn Sie beabsichtigen, die neueste unveröffentlichte Version der Bibliothek (dh von Quelle) zu installieren, können Sie einfach:
$ git clone https://github.com/SforAiDl/genrl.git
$ cd genrl
$ python setup.py install
Um ein weiches Schauspieler-kritisches Modell von Grund auf den Pendulum-v0 Fitnessumfeld zu trainieren, und Protokollbelohnungen auf 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 () So trainieren Sie ein tabelläres Dyna-Q-Modell von Grund auf den FrozenLake-v0 Fitnessumfeld und die Grundstückspfehlungen:
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 )