
D3RLPY es una biblioteca de aprendizaje de refuerzo profundo fuera de línea para profesionales e investigadores.
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 )Importante
V2.xx introduce cambios de ruptura. Si todavía se adhiere a v1.xx, instale explícitamente versiones anteriores (por ejemplo, pip install d3rlpy==1.1.1 ).
d3rlpy .D3RLPY admite Linux, MacOS y Windows.
La instalación del paquete D3RLPY instalará o actualizará los siguientes paquetes para satisfacer los requisitos:
$ pip install d3rlpy
$ conda install conda-forge/noarch::d3rlpy
$ docker run -it --gpus all --name d3rlpy takuseno/d3rlpy:latest bash
| algoritmo | control discreto | control continuo |
|---|---|---|
| Clonación de comportamiento (aprendizaje supervisado) | ✅ | ✅ |
| Iteración Q ajustada neural (NFQ) | ✅ | ⛔ |
| Profunda Q-Network (DQN) | ✅ | ⛔ |
| Doble dqn | ✅ | ⛔ |
| Gradientes de políticas deterministas profundos (DDPG) | ⛔ | ✅ |
| Twin Dethered Detep Deterministic Policy Gradient (TD3) | ⛔ | ✅ |
| Actor suave-crítico (SAC) | ✅ | ✅ |
| El lote restricionado Q-learning (BCQ) | ✅ | ✅ |
| Reducción de acumulación de errores de arranque (oso) | ⛔ | ✅ |
| Conservador Q-learning (CQL) | ✅ | ✅ |
| Ventaja actor ponderado-crítico (AWAC) | ⛔ | ✅ |
| Regresión regalizada crítica (CRR) | ⛔ | ✅ |
| Política en el espacio de acción latente (PLAS) | ⛔ | ✅ |
| TD3+BC | ⛔ | ✅ |
| Regularización de políticas con restricción de conjunto de datos (PRDC) | ⛔ | ✅ |
| Implícito Q-learning (IQL) | ⛔ | ✅ |
| Q-learning calibrado (Cal-QL) | ⛔ | ✅ |
| ReBRAC | ⛔ | ✅ |
| Transformador de decisión | ✅ | ✅ |
| Gato | ? | ? |
D3RLPY está en referencia para garantizar la calidad de implementación. Los scripts de referencia están disponibles Directorio de reproducciones. Los resultados de referencia están disponibles 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 )},
)Ver más conjuntos de datos en 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 )},
)Ver más conjuntos de datos Atari en 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 )¡Pruebe ejemplos de Cartpole en Google Colaboratory!
Aquí hay más documentos de tutoriales disponibles.
¡Cualquier tipo de contribución a D3RLPY sería muy apreciada! Consulte la guía de contribución.
| Canal | Enlace |
|---|---|
| Asuntos | Problemas de Github |
Importante
No envíe un correo electrónico a ningún contribuyente, incluido el propietario de este proyecto para solicitar soporte técnico. Dichos correos electrónicos serán ignorados sin responder a su mensaje. Use problemas de GitHub para informar sus problemas.
| Proyecto | Descripción |
|---|---|
| MINERVA | Una herramienta GUI lista para usar para RL fuera de línea |
| Alcance | Una biblioteca de evaluación y selección de polvo fuera de política |
El lanzamiento de la hoja de ruta para el futuro está disponible en Roadmap.md.
El papel está disponible aquí.
@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}
}
Este trabajo comenzó como parte del proyecto Ph.D de Takuma Seno en la Universidad de Keio en 2020.
Este trabajo está respaldado por la Agencia de Promoción de Tecnología de la Información, Japón (IPA), Proyecto Exploratorio de Recursos Humanos de TI (Programa MITOU) en el año fiscal 2020.