RL_Lib - это мощный и гибкий инструмент для обучения алгоритмов с подкреплением с использованием моделей на TensorFlow.
Мы предоставляем реализацию нескольких популярных алгоритмов обучения с подкреплением, которые легко можно интегрировать в собственные проекты или использовать в нашей готовой обертке обучения.
- Реализация различных алгоритмов: RL_Lib предоставляет готовые реализации DQN, DRQN, QR-DQN и Ape-X. Вы можете использовать их "из коробки" или настраивать под свои нужды.
- Интеграция с TensorFlow: Вам не нужно изучать новый фреймворк. Все алгоритмы написаны с использованием TensorFlow, поэтому вы можете использовать свои собственные модели на базе Keras, TensorFlow или любые другие совместимые модели.
- Гибкость и настраиваемость: RL_Lib предоставляет множество параметров и опций для настройки обучения алгоритмов под ваши задачи.
- Мощные буферы: Для хранения и обработки данных RL_Lib предоставляет различные буферы, включая обычные и приоритетные буферы, а также n-step буферы.
- Сохранение этапов обучения: Вы можете сохранять прогресс обучения для последующего использования или воспроизведения.
- Использование обертки обучения: Упростите процесс обучения, используя готовую обертку, которая выполняет все необходимые действия в среде для обучения алгоритма. Она автоматически обрабатывает состояния, действия, награды и т. д.
Мы стремимся предоставить простой, но мощный инструмент для обучения агентов с подкреплением, который позволит вам быстро и эффективно исследовать различные алгоритмы и применять их в реальных задачах. Добро пожаловать в RL_Lib - ваш надежный партнер в обучении с подкреплением!
- DQN и его модификации
- DRQN
- DDPG
from rl_lib.src.algoritms.dqn.dqn import DQN
config = {'model_config':{}}
config['model_config']['input_shape'] = env.observation_space.shape
config['model_config']['action_space'] = env.action_space.n
algo = DQN(config)
from rl_lib.src.algoritms.dqn.dqn import DQN
from yaml import safe_load
path = #путь к файлу конфигурации
config = safe_load(
open(
os_path.join(
os_path.dirname(path),"./config.yaml"
),
"rb")
)
config['model_config']['input_shape'] = env.observation_space.shape
config['model_config']['action_space'] = env.action_space.n
algo = DQN(config)
algo.save()
algo.load()
algo.get_action(obs)
algo.get_test_action(obs)
sardsn = (obs, action, reward, done, next_obsv) #именно в таком порядке
algo.add(sardsn)
algo.train_step() #Один шаг грандиентного спуска
algo.copy_weights() #Копирование весов learner -> target (если tau == 1.0)
Для рекуррентной модели drqn метод инициализации состояния:
algo.initial_state()
└──examples
├──dqn
└──cart_pole
├──config.yaml
└──dqn_cart_pole.py
└──drqn
└──cart_pole
├──config.yaml
└──drqn_cart_pole.py
- Реализация алгоритмов:
- QR-DQN
- IQN
- A2C
- TD3
- Ape-X
- RD2D
- Bandits
- Добавление LaziFrames в буферы сохранения
- Написание обертки шагов обучения в среде
- Реализация записи статистики обучения