d3rlpy
v2.7.0

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解决任何类型的RL问题。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存储库。

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 )},
)在D4RL-ATARI上查看更多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 )尝试在Google Colagoratory上尝试Cartpole示例!
这里提供更多教程文档。
对D3rlpy的任何贡献都将不胜感激!请检查贡献指南。
| 渠道 | 关联 |
|---|---|
| 问题 | Github问题 |
重要的
请不要通过电子邮件发送给包括该项目的所有者在内的任何贡献者,以寻求技术支持。如果不回复您的消息,将忽略此类电子邮件。使用GitHub问题报告您的问题。
| 项目 | 描述 |
|---|---|
| 密涅瓦 | 离线RL的开箱即用GUI工具 |
| 范围-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}
}
这项工作始于2020年在Keio University的Takuma Seno博士项目的一部分。
这项工作得到了2020财政年度的日本信息技术促进局(IPA),探索性人力资源项目(MITOU计划)的支持。