Genrl - это библиотека обучения Pytorch Arefrifors, ориентированная на воспроизводимые, обобщаемые внедрения алгоритма и улучшение доступности в обучении подкрепления
Текущий релиз Genrl находится на V0.0.2. Ожидайте нарушения изменений
Исследование обучения подкрепления движется быстрее, чем когда -либо прежде. Чтобы не отставать от растущей тенденции и обеспечить воспроизводимое исследование RL, Genrl стремится помочь более быстрому воспроизведению бумаги и сравнительному анализу, предоставляя следующие основные функции:
Интегрируя эти функции в GenRL, мы стремимся в конечном итоге поддерживать любую новую реализацию алгоритма менее чем за 100 строк .
Если вы заинтересованы в соревнованиях, не стесняйтесь пройти через проблемы и открывать PRS для кода, документов, тестов и т. Д. В случае любых вопросов, пожалуйста, ознакомьтесь с рекомендациями.
Genrl совместим с Python 3.6 или более поздней версии, а также зависит от pytorch
и openai-gym
. Самый простой способ установить Genrl - это PIP, предпочтительный установщик пакета Python.
$ pip install genrl
Обратите внимание, что Genrl является активным проектом и регулярно публикует новые выпуски. Чтобы обновить Genrl до последней версии, используйте PIP следующим образом.
$ pip install -U genrl
Если вы собираетесь установить новейшую невыпущенную версию библиотеки (т.е. из источника), вы можете просто сделать:
$ git clone https://github.com/SforAiDl/genrl.git
$ cd genrl
$ python setup.py install
Чтобы обучить мягкую модель актер-критической с нуля в тренажерном зале Pendulum-v0
и вознаграждения журнала на 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 ()
Для обучения табличной модели Dyna-Q с нуля на тренажерном зале FrozenLake-v0
и наградах участка:
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 )