
D3RLPY - это библиотека обучения в автономном режиме для практиков и исследователей.
import d3rlpy
dataset , env = d3rlpy . datasets . get_dataset ( "hopper-medium-v0" )
# prepare algorithm
sac = d3rlpy . algos . SACConfig ( compile_graph = True ). create ( device = "cuda:0" )
# train offline
sac . fit ( dataset , n_steps = 1000000 )
# train online
sac . fit_online ( env , n_steps = 1000000 )
# ready to control
actions = sac . predict ( x )Важный
V2.xx вводит нарушающие изменения. Если вы все еще придерживаетесь v1.xx, пожалуйста, явно установите предыдущие версии (например, pip install d3rlpy==1.1.1 ).
d3rlpy .D3RLPY поддерживает Linux, MacOS и Windows.
Установка пакета D3RLPY будет установлен или обновлять следующие пакеты для удовлетворения требований:
$ pip install d3rlpy
$ conda install conda-forge/noarch::d3rlpy
$ docker run -it --gpus all --name d3rlpy takuseno/d3rlpy:latest bash
| алгоритм | дискретный контроль | непрерывный контроль |
|---|---|---|
| Клонирование поведения (контролируемое обучение) | ✅ | ✅ |
| Нейронная итерация Q (NFQ) | ✅ | ⛔ |
| Глубокая Q-сеть (DQN) | ✅ | ⛔ |
| Двойной DQN | ✅ | ⛔ |
| Глубокие детерминированные градиенты политики (DDPG) | ⛔ | ✅ |
| Двойной задержку с глубокими детерминированными градиентами политики (TD3) | ⛔ | ✅ |
| Мягкий актер-критик (SAC) | ✅ | ✅ |
| Партия ограниченного Q-обучения (BCQ) | ✅ | ✅ |
| Сокращение накопления ошибок начальной загрузки (медведь) | ⛔ | ✅ |
| Консервативное Q-обучение (CQL) | ✅ | ✅ |
| Преимущество взвешенного актера-критика (AWAC) | ⛔ | ✅ |
| Критик регурализованная регрессия (CRR) | ⛔ | ✅ |
| Политика в скрытом пространстве действий (PLA) | ⛔ | ✅ |
| TD3+BC | ⛔ | ✅ |
| Ретализация политики с ограничением наборов данных (PRDC) | ⛔ | ✅ |
| Неявное Q-обучение (IQL) | ⛔ | ✅ |
| Калиброванное Q-обучение (Cal-ql) | ⛔ | ✅ |
| Rebrac | ⛔ | ✅ |
| Решение трансформатор | ✅ | ✅ |
| Гато | ? | ? |
D3RLPY находится в соответствии с качеством реализации. Скриповые сценарии доступны в каталоге репродукций. Результаты эталона доступны D3rlpy-Benchmarks Repository.

import d3rlpy
# prepare dataset
dataset , env = d3rlpy . datasets . get_d4rl ( 'hopper-medium-v0' )
# prepare algorithm
cql = d3rlpy . algos . CQLConfig ( compile_graph = True ). create ( device = 'cuda:0' )
# train
cql . fit (
dataset ,
n_steps = 100000 ,
evaluators = { "environment" : d3rlpy . metrics . EnvironmentEvaluator ( env )},
)Смотрите больше наборов данных на D4RL.

import d3rlpy
# prepare dataset (1% dataset)
dataset , env = d3rlpy . datasets . get_atari_transitions (
'breakout' ,
fraction = 0.01 ,
num_stack = 4 ,
)
# prepare algorithm
cql = d3rlpy . algos . DiscreteCQLConfig (
observation_scaler = d3rlpy . preprocessing . PixelObservationScaler (),
reward_scaler = d3rlpy . preprocessing . ClipRewardScaler ( - 1.0 , 1.0 ),
compile_graph = True ,
). create ( device = 'cuda:0' )
# start training
cql . fit (
dataset ,
n_steps = 1000000 ,
evaluators = { "environment" : d3rlpy . metrics . EnvironmentEvaluator ( env , epsilon = 0.001 )},
)Смотрите больше наборов данных Atari на D4RL-Atari.
import d3rlpy
import gym
# prepare environment
env = gym . make ( 'Hopper-v3' )
eval_env = gym . make ( 'Hopper-v3' )
# prepare algorithm
sac = d3rlpy . algos . SACConfig ( compile_graph = True ). create ( device = 'cuda:0' )
# prepare replay buffer
buffer = d3rlpy . dataset . create_fifo_replay_buffer ( limit = 1000000 , env = env )
# start training
sac . fit_online ( env , buffer , n_steps = 1000000 , eval_env = eval_env )Попробуйте примеры Cartpole в Google Colaboratory!
Больше учебных документов доступно здесь.
Любой вид вклада в D3rlpy будет высоко ценится! Пожалуйста, проверьте руководство по взносу.
| Канал | Связь |
|---|---|
| Проблемы | GitHub выпуски |
Важный
Пожалуйста, не отправьте электронное письмо ни одному участникам, включая владельца этого проекта, чтобы попросить техническую поддержку. Такие электронные письма будут проигнорированы без ответа на ваше сообщение. Используйте проблемы GitHub, чтобы сообщить о ваших проблемах.
| Проект | Описание |
|---|---|
| Минерва | Инструмент с графическим интерфейсом для офлайн-RL |
| Scope-rl | Библиотека оценочной оценки и отбора |
Дорожная карта к будущему выпуску доступна на Roadmap.md.
Бумага доступна здесь.
@article{d3rlpy,
author = {Takuma Seno and Michita Imai},
title = {d3rlpy: An Offline Deep Reinforcement Learning Library},
journal = {Journal of Machine Learning Research},
year = {2022},
volume = {23},
number = {315},
pages = {1--20},
url = {http://jmlr.org/papers/v23/22-0017.html}
}
Эта работа началась в рамках проекта Ph.D Takuma Seno в Университете Кейо в 2020 году.
Эта работа поддерживается Агентством по продвижению информационных технологий, Япония (IPA), исследовательский проект по человеческим ресурсам (программа MITOU) в 2020 финансовом году.