
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) | ✅ | ✅ |
| 부트 스트랩 오류 축적 감소 (BEAR) | ⛔ | ✅ |
| 보수적 인 Q- 러닝 (CQL) | ✅ | ✅ |
| 우위 가중 액터-크리치 (AWAC) | ⛔ | ✅ |
| 비평가 규제 회귀 (CRR) | ⛔ | ✅ |
| 잠재 행동 공간 (PLAS)의 정책 | ⛔ | ✅ |
| 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 공동 작업에서 카트 폴 예제를 사용해보십시오!
더 많은 튜토리얼 문서가 여기에서 제공됩니다.
d3rlpy에 대한 모든 종류의 기여는 높이 평가 될 것입니다! 기여 가이드를 확인하십시오.
| 채널 | 링크 |
|---|---|
| 문제 | Github 문제 |
중요한
기술 지원을 요청하기 위해이 프로젝트의 소유자를 포함한 기고자에게 이메일을 보내지 마십시오. 이러한 이메일은 귀하의 메시지에 응답하지 않고 무시됩니다. GitHub 문제를 사용하여 문제를보고하십시오.
| 프로젝트 | 설명 |
|---|---|
| 미네르바 | 오프라인 rl 용 상자 외부 GUI 도구 |
| 스코프 rl | 정책 오프 평가 및 선택 라이브러리 |
향후 릴리스 로드맵은 로드맵에서 제공됩니다.
이 논문은 여기에서 구입할 수 있습니다.
@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 박사 Ph.D 프로젝트의 일환으로 시작되었습니다.
이 작업은 2020 회계 연도의 Exploratory IT 인사 프로젝트 (MITOU), IPA (Information-Technology Promotion Agency)의 지원을받습니다.