- Açıklama :
RL Unplugged, çevrimdışı pekiştirme öğrenimi için bir dizi testtir. RL Unplugged aşağıdaki hususlar etrafında tasarlanmıştır: kullanım kolaylığını kolaylaştırmak için veri kümelerine, genel bir işlem hattı oluşturulduktan sonra uygulamacının süitteki tüm verilerle çalışmasını kolaylaştıran birleşik bir API sağlıyoruz.
Veri kümeleri, adımları ve bölümleri temsil etmek için RLDS biçimini takip eder.
DeepMind Control Suite Tassa ve diğerleri, 2018 , MuJoCo Todorov ve diğerleri., 2012'de uygulanan bir dizi kontrol görevidir. Pakette sağlanan ve çok çeşitli zorlukları kapsayan görevlerin bir alt kümesini ele alıyoruz.
Bu etki alanındaki veri kümelerinin çoğu, D4PG kullanılarak oluşturulur. D4PG bu görevleri çözemediğinden, Manipulator insert ball ve Manipulator insert peg ortamları için verileri oluşturmak için V-MPO Song et al., 2020 kullanıyoruz. 9 kontrol paketi görevi için veri kümeleri yayınlıyoruz. Veri kümesinin nasıl oluşturulduğuna ilişkin ayrıntılar için lütfen makaleye bakın.
DeepMind Control Suite, geleneksel bir sürekli eylem RL karşılaştırmasıdır. Özellikle, diğer son teknoloji çevrimdışı RL yöntemleriyle karşılaştırma yapmakla ilgileniyorsanız, yaklaşımınızı DeepMind Control Suite'te test etmenizi öneririz.
Ana sayfa : https://github.com/deepmind/deepmind-research/tree/master/rl_unplugged
Kaynak kodu :
tfds.rl_unplugged.rlu_control_suite.RluControlSuite
Sürümler :
-
1.0.0
(varsayılan): İlk sürüm.
-
İndirme boyutu :
Unknown size
Denetimli anahtarlar (bkz
as_supervised
doc ):None
Şekil ( tfds.show_examples ): Desteklenmez.
alıntı :
@inproceedings{gulcehre2020rl,
title = {RL Unplugged: A Suite of Benchmarks for Offline Reinforcement Learning},
author = {Gulcehre, Caglar and Wang, Ziyu and Novikov, Alexander and Paine, Thomas and G'{o}mez, Sergio and Zolna, Konrad and Agarwal, Rishabh and Merel, Josh S and Mankowitz, Daniel J and Paduraru, Cosmin and Dulac-Arnold, Gabriel and Li, Jerry and Norouzi, Mohammad and Hoffman, Matthew and Heess, Nicolas and de Freitas, Nando},
booktitle = {Advances in Neural Information Processing Systems},
pages = {7248--7259},
volume = {33},
year = {2020}
}
rlu_control_suite/cartpole_swingup (varsayılan yapılandırma)
Veri kümesi boyutu :
2.12 MiB
Otomatik önbelleğe alınmış ( belgeler ): Evet
Bölmeler :
Bölmek | Örnekler |
---|---|
'train' | 40 |
- Özellik yapısı :
FeaturesDict({
'episode_id': tf.int64,
'steps': Dataset({
'action': Tensor(shape=(1,), dtype=tf.float32),
'discount': tf.float32,
'is_first': tf.bool,
'is_last': tf.bool,
'is_terminal': tf.bool,
'observation': FeaturesDict({
'position': Tensor(shape=(3,), dtype=tf.float32),
'velocity': Tensor(shape=(2,), dtype=tf.float32),
}),
'reward': tf.float32,
}),
'timestamp': tf.int64,
})
- Özellik belgeleri :
Özellik | Sınıf | Şekil | Dtype | Tanım |
---|---|---|---|---|
ÖzelliklerDict | ||||
bölüm_kimliği | tensör | tf.int64 | ||
adımlar | veri kümesi | |||
adımlar/eylem | tensör | (1,) | tf.float32 | |
adımlar/indirim | tensör | tf.float32 | ||
adımlar/is_first | tensör | tf.bool | ||
adımlar/is_last | tensör | tf.bool | ||
adımlar/is_terminal | tensör | tf.bool | ||
adımlar/gözlem | ÖzelliklerDict | |||
adımlar/gözlem/konum | tensör | (3,) | tf.float32 | |
adımlar/gözlem/hız | tensör | (2,) | tf.float32 | |
adımlar/ödül | tensör | tf.float32 | ||
zaman damgası | tensör | tf.int64 |
- Örnekler ( tfds.as_dataframe ):
rlu_control_suite/cheetah_run
Veri kümesi boyutu :
36.58 MiB
Otomatik önbelleğe alınmış ( belgeler ): Evet
Bölmeler :
Bölmek | Örnekler |
---|---|
'train' | 300 |
- Özellik yapısı :
FeaturesDict({
'episode_id': tf.int64,
'steps': Dataset({
'action': Tensor(shape=(6,), dtype=tf.float32),
'discount': tf.float32,
'is_first': tf.bool,
'is_last': tf.bool,
'is_terminal': tf.bool,
'observation': FeaturesDict({
'position': Tensor(shape=(8,), dtype=tf.float32),
'velocity': Tensor(shape=(9,), dtype=tf.float32),
}),
'reward': tf.float32,
}),
'timestamp': tf.int64,
})
- Özellik belgeleri :
Özellik | Sınıf | Şekil | Dtype | Tanım |
---|---|---|---|---|
ÖzelliklerDict | ||||
bölüm_kimliği | tensör | tf.int64 | ||
adımlar | veri kümesi | |||
adımlar/eylem | tensör | (6,) | tf.float32 | |
adımlar/indirim | tensör | tf.float32 | ||
adımlar/is_first | tensör | tf.bool | ||
adımlar/is_last | tensör | tf.bool | ||
adımlar/is_terminal | tensör | tf.bool | ||
adımlar/gözlem | ÖzelliklerDict | |||
adımlar/gözlem/konum | tensör | (8,) | tf.float32 | |
adımlar/gözlem/hız | tensör | (9,) | tf.float32 | |
adımlar/ödül | tensör | tf.float32 | ||
zaman damgası | tensör | tf.int64 |
- Örnekler ( tfds.as_dataframe ):
rlu_control_suite/finger_turn_hard
Veri kümesi boyutu :
47.61 MiB
Otomatik önbelleğe alınmış ( belgeler ): Evet
Bölmeler :
Bölmek | Örnekler |
---|---|
'train' | 500 |
- Özellik yapısı :
FeaturesDict({
'episode_id': tf.int64,
'steps': Dataset({
'action': Tensor(shape=(2,), dtype=tf.float32),
'discount': tf.float32,
'is_first': tf.bool,
'is_last': tf.bool,
'is_terminal': tf.bool,
'observation': FeaturesDict({
'dist_to_target': Tensor(shape=(1,), dtype=tf.float32),
'position': Tensor(shape=(4,), dtype=tf.float32),
'target_position': Tensor(shape=(2,), dtype=tf.float32),
'velocity': Tensor(shape=(3,), dtype=tf.float32),
}),
'reward': tf.float32,
}),
'timestamp': tf.int64,
})
- Özellik belgeleri :
Özellik | Sınıf | Şekil | Dtype | Tanım |
---|---|---|---|---|
ÖzelliklerDict | ||||
bölüm_kimliği | tensör | tf.int64 | ||
adımlar | veri kümesi | |||
adımlar/eylem | tensör | (2,) | tf.float32 | |
adımlar/indirim | tensör | tf.float32 | ||
adımlar/is_first | tensör | tf.bool | ||
adımlar/is_last | tensör | tf.bool | ||
adımlar/is_terminal | tensör | tf.bool | ||
adımlar/gözlem | ÖzelliklerDict | |||
adımlar/gözlem/dist_to_target | tensör | (1,) | tf.float32 | |
adımlar/gözlem/konum | tensör | (4,) | tf.float32 | |
adımlar/gözlem/target_position | tensör | (2,) | tf.float32 | |
adımlar/gözlem/hız | tensör | (3,) | tf.float32 | |
adımlar/ödül | tensör | tf.float32 | ||
zaman damgası | tensör | tf.int64 |
- Örnekler ( tfds.as_dataframe ):
rlu_control_suite/fish_swim
Veri kümesi boyutu :
32.81 MiB
Otomatik önbelleğe alınmış ( belgeler ): Evet
Bölmeler :
Bölmek | Örnekler |
---|---|
'train' | 200 |
- Özellik yapısı :
FeaturesDict({
'episode_id': tf.int64,
'steps': Dataset({
'action': Tensor(shape=(5,), dtype=tf.float32),
'discount': tf.float32,
'is_first': tf.bool,
'is_last': tf.bool,
'is_terminal': tf.bool,
'observation': FeaturesDict({
'joint_angles': Tensor(shape=(7,), dtype=tf.float32),
'target': Tensor(shape=(3,), dtype=tf.float32),
'upright': Tensor(shape=(1,), dtype=tf.float32),
'velocity': Tensor(shape=(13,), dtype=tf.float32),
}),
'reward': tf.float32,
}),
'timestamp': tf.int64,
})
- Özellik belgeleri :
Özellik | Sınıf | Şekil | Dtype | Tanım |
---|---|---|---|---|
ÖzelliklerDict | ||||
bölüm_kimliği | tensör | tf.int64 | ||
adımlar | veri kümesi | |||
adımlar/eylem | tensör | (5,) | tf.float32 | |
adımlar/indirim | tensör | tf.float32 | ||
adımlar/is_first | tensör | tf.bool | ||
adımlar/is_last | tensör | tf.bool | ||
adımlar/is_terminal | tensör | tf.bool | ||
adımlar/gözlem | ÖzelliklerDict | |||
adımlar/gözlem/ortak açılar | tensör | (7) | tf.float32 | |
adımlar/gözlem/hedef | tensör | (3,) | tf.float32 | |
adımlar/gözlem/dik | tensör | (1,) | tf.float32 | |
adımlar/gözlem/hız | tensör | (13,) | tf.float32 | |
adımlar/ödül | tensör | tf.float32 | ||
zaman damgası | tensör | tf.int64 |
- Örnekler ( tfds.as_dataframe ):
rlu_control_suite/humanoid_run
Veri kümesi boyutu :
1.21 GiB
Otomatik önbelleğe alınmış ( belgeler ): Hayır
Bölmeler :
Bölmek | Örnekler |
---|---|
'train' | 3.000 |
- Özellik yapısı :
FeaturesDict({
'episode_id': tf.int64,
'steps': Dataset({
'action': Tensor(shape=(21,), dtype=tf.float32),
'discount': tf.float32,
'is_first': tf.bool,
'is_last': tf.bool,
'is_terminal': tf.bool,
'observation': FeaturesDict({
'com_velocity': Tensor(shape=(3,), dtype=tf.float32),
'extremities': Tensor(shape=(12,), dtype=tf.float32),
'head_height': Tensor(shape=(1,), dtype=tf.float32),
'joint_angles': Tensor(shape=(21,), dtype=tf.float32),
'torso_vertical': Tensor(shape=(3,), dtype=tf.float32),
'velocity': Tensor(shape=(27,), dtype=tf.float32),
}),
'reward': tf.float32,
}),
'timestamp': tf.int64,
})
- Özellik belgeleri :
Özellik | Sınıf | Şekil | Dtype | Tanım |
---|---|---|---|---|
ÖzelliklerDict | ||||
bölüm_kimliği | tensör | tf.int64 | ||
adımlar | veri kümesi | |||
adımlar/eylem | tensör | (21,) | tf.float32 | |
adımlar/indirim | tensör | tf.float32 | ||
adımlar/is_first | tensör | tf.bool | ||
adımlar/is_last | tensör | tf.bool | ||
adımlar/is_terminal | tensör | tf.bool | ||
adımlar/gözlem | ÖzelliklerDict | |||
adımlar/gözlem/com_velocity | tensör | (3,) | tf.float32 | |
adımlar/gözlem/ekstremiteler | tensör | (12,) | tf.float32 | |
adımlar/gözlem/kafa_yüksekliği | tensör | (1,) | tf.float32 | |
adımlar/gözlem/ortak açılar | tensör | (21,) | tf.float32 | |
adımlar/gözlem/torso_vertical | tensör | (3,) | tf.float32 | |
adımlar/gözlem/hız | tensör | (27,) | tf.float32 | |
adımlar/ödül | tensör | tf.float32 | ||
zaman damgası | tensör | tf.int64 |
- Örnekler ( tfds.as_dataframe ):
rlu_control_suite/manipulator_insert_ball
Veri kümesi boyutu :
385.41 MiB
Otomatik önbelleğe alınmış ( belgeler ): Hayır
Bölmeler :
Bölmek | Örnekler |
---|---|
'train' | 1500 |
- Özellik yapısı :
FeaturesDict({
'episode_id': tf.int64,
'steps': Dataset({
'action': Tensor(shape=(5,), dtype=tf.float32),
'discount': tf.float32,
'is_first': tf.bool,
'is_last': tf.bool,
'is_terminal': tf.bool,
'observation': FeaturesDict({
'arm_pos': Tensor(shape=(16,), dtype=tf.float32),
'arm_vel': Tensor(shape=(8,), dtype=tf.float32),
'hand_pos': Tensor(shape=(4,), dtype=tf.float32),
'object_pos': Tensor(shape=(4,), dtype=tf.float32),
'object_vel': Tensor(shape=(3,), dtype=tf.float32),
'target_pos': Tensor(shape=(4,), dtype=tf.float32),
'touch': Tensor(shape=(5,), dtype=tf.float32),
}),
'reward': tf.float32,
}),
'timestamp': tf.int64,
})
- Özellik belgeleri :
Özellik | Sınıf | Şekil | Dtype | Tanım |
---|---|---|---|---|
ÖzelliklerDict | ||||
bölüm_kimliği | tensör | tf.int64 | ||
adımlar | veri kümesi | |||
adımlar/eylem | tensör | (5,) | tf.float32 | |
adımlar/indirim | tensör | tf.float32 | ||
adımlar/is_first | tensör | tf.bool | ||
adımlar/is_last | tensör | tf.bool | ||
adımlar/is_terminal | tensör | tf.bool | ||
adımlar/gözlem | ÖzelliklerDict | |||
adımlar/gözlem/arm_pos | tensör | (16,) | tf.float32 | |
adımlar/gözlem/arm_vel | tensör | (8,) | tf.float32 | |
adımlar/gözlem/hand_pos | tensör | (4,) | tf.float32 | |
adımlar/gözlem/object_pos | tensör | (4,) | tf.float32 | |
adımlar/gözlem/object_vel | tensör | (3,) | tf.float32 | |
adımlar/gözlem/target_pos | tensör | (4,) | tf.float32 | |
adımlar/gözlem/dokunma | tensör | (5,) | tf.float32 | |
adımlar/ödül | tensör | tf.float32 | ||
zaman damgası | tensör | tf.int64 |
- Örnekler ( tfds.as_dataframe ):
rlu_control_suite/manipulator_insert_peg
Veri kümesi boyutu :
385.73 MiB
Otomatik önbelleğe alınmış ( belgeler ): Hayır
Bölmeler :
Bölmek | Örnekler |
---|---|
'train' | 1500 |
- Özellik yapısı :
FeaturesDict({
'episode_id': tf.int64,
'steps': Dataset({
'action': Tensor(shape=(5,), dtype=tf.float32),
'discount': tf.float32,
'is_first': tf.bool,
'is_last': tf.bool,
'is_terminal': tf.bool,
'observation': FeaturesDict({
'arm_pos': Tensor(shape=(16,), dtype=tf.float32),
'arm_vel': Tensor(shape=(8,), dtype=tf.float32),
'hand_pos': Tensor(shape=(4,), dtype=tf.float32),
'object_pos': Tensor(shape=(4,), dtype=tf.float32),
'object_vel': Tensor(shape=(3,), dtype=tf.float32),
'target_pos': Tensor(shape=(4,), dtype=tf.float32),
'touch': Tensor(shape=(5,), dtype=tf.float32),
}),
'reward': tf.float32,
}),
'timestamp': tf.int64,
})
- Özellik belgeleri :
Özellik | Sınıf | Şekil | Dtype | Tanım |
---|---|---|---|---|
ÖzelliklerDict | ||||
bölüm_kimliği | tensör | tf.int64 | ||
adımlar | veri kümesi | |||
adımlar/eylem | tensör | (5,) | tf.float32 | |
adımlar/indirim | tensör | tf.float32 | ||
adımlar/is_first | tensör | tf.bool | ||
adımlar/is_last | tensör | tf.bool | ||
adımlar/is_terminal | tensör | tf.bool | ||
adımlar/gözlem | ÖzelliklerDict | |||
adımlar/gözlem/arm_pos | tensör | (16,) | tf.float32 | |
adımlar/gözlem/arm_vel | tensör | (8,) | tf.float32 | |
adımlar/gözlem/hand_pos | tensör | (4,) | tf.float32 | |
adımlar/gözlem/object_pos | tensör | (4,) | tf.float32 | |
adımlar/gözlem/object_vel | tensör | (3,) | tf.float32 | |
adımlar/gözlem/target_pos | tensör | (4,) | tf.float32 | |
adımlar/gözlem/dokunma | tensör | (5,) | tf.float32 | |
adımlar/ödül | tensör | tf.float32 | ||
zaman damgası | tensör | tf.int64 |
- Örnekler ( tfds.as_dataframe ):
rlu_control_suite/walker_stand
Veri kümesi boyutu :
31.78 MiB
Otomatik önbelleğe alınmış ( belgeler ): Evet
Bölmeler :
Bölmek | Örnekler |
---|---|
'train' | 200 |
- Özellik yapısı :
FeaturesDict({
'episode_id': tf.int64,
'steps': Dataset({
'action': Tensor(shape=(6,), dtype=tf.float32),
'discount': tf.float32,
'is_first': tf.bool,
'is_last': tf.bool,
'is_terminal': tf.bool,
'observation': FeaturesDict({
'height': Tensor(shape=(1,), dtype=tf.float32),
'orientations': Tensor(shape=(14,), dtype=tf.float32),
'velocity': Tensor(shape=(9,), dtype=tf.float32),
}),
'reward': tf.float32,
}),
'timestamp': tf.int64,
})
- Özellik belgeleri :
Özellik | Sınıf | Şekil | Dtype | Tanım |
---|---|---|---|---|
ÖzelliklerDict | ||||
bölüm_kimliği | tensör | tf.int64 | ||
adımlar | veri kümesi | |||
adımlar/eylem | tensör | (6,) | tf.float32 | |
adımlar/indirim | tensör | tf.float32 | ||
adımlar/is_first | tensör | tf.bool | ||
adımlar/is_last | tensör | tf.bool | ||
adımlar/is_terminal | tensör | tf.bool | ||
adımlar/gözlem | ÖzelliklerDict | |||
adımlar/gözlem/yükseklik | tensör | (1,) | tf.float32 | |
adımlar/gözlem/yönlendirmeler | tensör | (14,) | tf.float32 | |
adımlar/gözlem/hız | tensör | (9,) | tf.float32 | |
adımlar/ödül | tensör | tf.float32 | ||
zaman damgası | tensör | tf.int64 |
- Örnekler ( tfds.as_dataframe ):
rlu_control_suite/walker_walk
Veri kümesi boyutu :
31.78 MiB
Otomatik önbelleğe alınmış ( belgeler ): Evet
Bölmeler :
Bölmek | Örnekler |
---|---|
'train' | 200 |
- Özellik yapısı :
FeaturesDict({
'episode_id': tf.int64,
'steps': Dataset({
'action': Tensor(shape=(6,), dtype=tf.float32),
'discount': tf.float32,
'is_first': tf.bool,
'is_last': tf.bool,
'is_terminal': tf.bool,
'observation': FeaturesDict({
'height': Tensor(shape=(1,), dtype=tf.float32),
'orientations': Tensor(shape=(14,), dtype=tf.float32),
'velocity': Tensor(shape=(9,), dtype=tf.float32),
}),
'reward': tf.float32,
}),
'timestamp': tf.int64,
})
- Özellik belgeleri :
Özellik | Sınıf | Şekil | Dtype | Tanım |
---|---|---|---|---|
ÖzelliklerDict | ||||
bölüm_kimliği | tensör | tf.int64 | ||
adımlar | veri kümesi | |||
adımlar/eylem | tensör | (6,) | tf.float32 | |
adımlar/indirim | tensör | tf.float32 | ||
adımlar/is_first | tensör | tf.bool | ||
adımlar/is_last | tensör | tf.bool | ||
adımlar/is_terminal | tensör | tf.bool | ||
adımlar/gözlem | ÖzelliklerDict | |||
adımlar/gözlem/yükseklik | tensör | (1,) | tf.float32 | |
adımlar/gözlem/yönlendirmeler | tensör | (14,) | tf.float32 | |
adımlar/gözlem/hız | tensör | (9,) | tf.float32 | |
adımlar/ödül | tensör | tf.float32 | ||
zaman damgası | tensör | tf.int64 |
- Örnekler ( tfds.as_dataframe ):