
D3RLPY ist eine Offline -Bibliothek für die Verstärkung für Praktiker und Forscher.
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 )Wichtig
v2.xx führt brechen Veränderungen ein. Wenn Sie sich weiterhin an v1.xx halten, installieren Sie bitte frühere Versionen explizit (z. B. pip install d3rlpy==1.1.1 ).
d3rlpy alle Arten von RL-Problemen lösen können.D3RLPY unterstützt Linux, MacOS und Windows.
Durch die Installation des D3RLPY -Pakets werden die folgenden Pakete installiert oder aktualisiert, um die Anforderungen zu erfüllen:
$ pip install d3rlpy
$ conda install conda-forge/noarch::d3rlpy
$ docker run -it --gpus all --name d3rlpy takuseno/d3rlpy:latest bash
| Algorithmus | Diskrete Kontrolle | kontinuierliche Kontrolle |
|---|---|---|
| Verhaltensklonen (überwachtes Lernen) | ✅ | ✅ |
| Neuronal angepasste Q -Iteration (NFQ) | ✅ | ⛔ |
| Deep Q-Network (DQN) | ✅ | ⛔ |
| Doppel -DQN | ✅ | ⛔ |
| Tiefe deterministische Politikgradienten (DDPG) | ⛔ | ✅ |
| Zwilling verzögerte tief deterministische Politikgradienten (TD3) | ⛔ | ✅ |
| Weicher Schauspielerkritiker (SAC) | ✅ | ✅ |
| Batch-eingeschränkte Q-Learning (BCQ) | ✅ | ✅ |
| Bootstrapping -Fehlerakkumulation Reduktion (Bär) | ⛔ | ✅ |
| Konservativer Q-Learning (CQL) | ✅ | ✅ |
| Vorteil gewichteter Schauspieler-Kritik (AWAC) | ⛔ | ✅ |
| Kritiker Reguralisierte Regression (CRR) | ⛔ | ✅ |
| Politik im latenten Aktionsraum (PLAs) | ⛔ | ✅ |
| TD3+BC | ⛔ | ✅ |
| Richtlinienregulierung mit Datensatzbeschränkung (PRDC) | ⛔ | ✅ |
| Implizite Q-Learning (IQL) | ⛔ | ✅ |
| Kalibriertes Q-Learning (CAL-QL) | ⛔ | ✅ |
| Rebrac | ⛔ | ✅ |
| Entscheidungstransformator | ✅ | ✅ |
| Gato | ? | ? |
D3RLPY ist mit der Sicherstellung der Implementierungsqualität versehen. Die Benchmark -Skripte sind Reproductions -Verzeichnis. Die Benchmark-Ergebnisse sind verfügbares D3RLPY-Benchmarks-Repository verfügbar.

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 )},
)Weitere Datensätze unter 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 )},
)Weitere Atari-Datensätze finden Sie in D4RL-Aatari.
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 )Probieren Sie Cartpole -Beispiele auf Google Colaboratory aus!
Weitere Tutorial -Dokumentationen finden Sie hier.
Jede Art von Beitrag zu D3RLPY wäre sehr geschätzt! Bitte überprüfen Sie den Beitragsleitfaden.
| Kanal | Link |
|---|---|
| Probleme | Github -Probleme |
Wichtig
Bitte senden Sie keine E -Mail an Mitwirkende, einschließlich des Eigentümers dieses Projekts, um nach technischen Support zu bitten. Solche E -Mails werden ignoriert, ohne auf Ihre Nachricht zu antworten. Verwenden Sie GitHub -Probleme, um Ihre Probleme zu melden.
| Projekt | Beschreibung |
|---|---|
| Minerva | Ein optimales GUI-Tool für Offline RL |
| Scope-Rl | Eine Off-Policy-Bewertung und Auswahlbibliothek |
Die Roadmap zur zukünftigen Veröffentlichung ist in Roadmap.md erhältlich.
Das Papier ist hier erhältlich.
@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}
}
Diese Arbeit begann im Jahr 2020 als Teil des Ph.D -Projekts von Takuma Seno an der Keio University.
Diese Arbeit wird im Geschäftsjahr 2020 von der Informations-Technologie-Werbeagentur Japan (IPA), Exploratory IT Human Resources (MITOU-Programm), unterstützt.