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計劃)的支持。