
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 )
d3rlpyD3RLPY รองรับ Linux, MacOS และ Windows
การติดตั้งแพ็คเกจ D3RLPY จะติดตั้งหรืออัพเกรดแพ็คเกจต่อไปนี้เพื่อตอบสนองความต้องการ:
$ pip install d3rlpy
$ conda install conda-forge/noarch::d3rlpy
$ docker run -it --gpus all --name d3rlpy takuseno/d3rlpy:latest bash
| อัลกอริทึม | การควบคุมแบบไม่ต่อเนื่อง | การควบคุมอย่างต่อเนื่อง |
|---|---|---|
| การโคลนนิ่งพฤติกรรม (การเรียนรู้ภายใต้การดูแล) | ||
| การติดตั้งระบบประสาท (NFQ) | ||
| Deep Q-Network (DQN) | ||
| dqn สองครั้ง | ||
| การไล่ระดับสีเชิงลึกเชิงลึก (DDPG) | ||
| การไล่ระดับสีเชิงกำหนดนโยบายที่กำหนดไว้อย่างลึกล้ำ (TD3) ล่าช้า | ||
| นักแสดงที่อ่อนนุ่ม (SAC) | ||
| แบทช์ข้อ จำกัด Q-Learning (BCQ) | ||
| Bootstrapping การลดการสะสมข้อผิดพลาด (Bear) | ||
| อนุรักษ์นิยม Q-Learning (CQL) | ||
| นักแสดงถ่วงน้ำหนักได้เปรียบ (AWAC) | ||
| นักวิจารณ์การถดถอย Reguralized (CRR) | ||
| นโยบายในพื้นที่ปฏิบัติการแฝง (PLAs) | ||
| TD3+BC | ||
| นโยบายการทำให้เป็นมาตรฐานด้วยข้อ จำกัด ชุดข้อมูล (PRDC) | ||
| q-learning โดยนัย (IQL) | ||
| การสอบเทียบ Q-Learning (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 )},
)ดูชุดข้อมูล 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 เพื่อรายงานปัญหาของคุณ
| โครงการ | คำอธิบาย |
|---|---|
| Minerva | เครื่องมือ GUI นอกกรอบสำหรับ RL ออฟไลน์ |
| ขอบเขต 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}
}
งานนี้เริ่มต้นเป็นส่วนหนึ่งของโครงการปริญญาเอกของ Takuma Seno ที่ Keio University ในปี 2020
งานนี้ได้รับการสนับสนุนโดยหน่วยงานส่งเสริมการขายข้อมูลเทคโนโลยี, ญี่ปุ่น (IPA), โครงการทรัพยากรมนุษย์เชิงสำรวจ (โปรแกรม MITOU) ในปีงบประมาณ 2563