
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 .يدعم 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
| خوارزمية | السيطرة المنفصلة | السيطرة المستمرة |
|---|---|---|
| استنساخ السلوك (التعلم الخاضع للإشراف) | ✅ | ✅ |
| التكرار المجهز العصبي (NFQ) | ✅ | ⛔ |
| عمق Q-Network (DQN) | ✅ | ⛔ |
| مزدوج DQN | ✅ | ⛔ |
| تدرجات السياسة الحتمية العميقة (DDPG) | ⛔ | ✅ |
| تأخر توأم تدرجات السياسة الحتمية العميقة (TD3) | ⛔ | ✅ |
| الممثل الناعم النحوي (SAC) | ✅ | ✅ |
| دفعة مقيدة Q-Learning (BCQ) | ✅ | ✅ |
| تخفيض تراكم الأخطاء في Bootstrapping (Bear) | ⛔ | ✅ |
| التعلم Q المحافظ (CQL) | ✅ | ✅ |
| ميزة الممثل المرجح الناقد (AWAC) | ⛔ | ✅ |
| الانحدار اللولبي الناقد (CRR) | ⛔ | ✅ |
| سياسة في مجال العمل الكامن (PLAS) | ⛔ | ✅ |
| TD3+قبل الميلاد | ⛔ | ✅ |
| تنظيم السياسة مع قيود مجموعة البيانات (PRDC) | ⛔ | ✅ |
| التعلم Q الضمني (IQL) | ⛔ | ✅ |
| المعايرة Q-Learning (Cal-QL) | ⛔ | ✅ |
| rebrac | ⛔ | ✅ |
| محول القرار | ✅ | ✅ |
| جاتو | ؟ | ؟ |
يتم قياس D3RLPY لضمان جودة التنفيذ. تتوفر البرامج النصية المرجعية دليل النسخ. تتوفر النتائج القياسية مستودع علامات D3RLPY.

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 للإبلاغ عن مشاكلك.
| مشروع | وصف |
|---|---|
| مينيرفا | أداة واجهة المستخدم الرسومية خارج الصندوق لصالح 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 في جامعة كيو في عام 2020.
يتم دعم هذا العمل من قبل وكالة الترويج للتكنولوجيا المعلوماتية ، اليابان (IPA) ، ومشروع موارد تكنولوجيا المعلومات الاستكشافية (برنامج MITOU) في السنة المالية 2020.