- opis :
RL Unplugged to zestaw testów porównawczych do uczenia się ze wzmacnianiem w trybie offline. RL Unplugged został zaprojektowany z myślą o następujących kwestiach: aby ułatwić użytkowanie, zapewniamy zestawy danych z ujednoliconym interfejsem API, który ułatwia praktykowi pracę ze wszystkimi danymi w pakiecie po ustaleniu ogólnego potoku.
Zestawy danych są zgodne z formatem RLDS, aby reprezentować kroki i epizody.
Zadania te składają się z zadań poruszania się w korytarzu z udziałem humanoida CMU, w przypadku których wcześniejsze wysiłki wykorzystywały dane przechwytywania ruchu Merel i in., 2019a , Merel i in., 2019b lub szkolenie od podstaw Song i in., 2020 . Ponadto repozytorium DM Locomotion zawiera zestaw zadań przystosowanych do dopasowania do wirtualnego gryzonia Merel et al., 2020 . Podkreślamy, że zadania DM Locomotion obejmują kombinację trudnej ciągłej kontroli o wysokim stopniu swobody wraz z percepcją wynikającą z bogatych egocentrycznych obserwacji. Aby uzyskać szczegółowe informacje na temat sposobu wygenerowania zestawu danych, zapoznaj się z artykułem.
Zalecamy wypróbowanie metod RL offline na zbiorze danych DeepMind Locomotion, jeśli interesuje Cię bardzo wymagający zestaw danych RL offline z ciągłą przestrzenią akcji.
Strona główna : https://github.com/deepmind/deepmind-research/tree/master/rl_unplugged
Kod źródłowy :
tfds.rl_unplugged.rlu_locomotion.RluLocomotion
Wersje :
-
1.0.0
(domyślnie): Wersja początkowa.
-
Rozmiar pliku do pobrania :
Unknown size
Automatyczne buforowanie ( dokumentacja ): Nie
Klucze nadzorowane (Zobacz dokument
as_supervised
):None
Rysunek ( tfds.show_examples ): Nieobsługiwany.
Cytat :
@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_locomotion/humanoid_corridor (domyślna konfiguracja)
Rozmiar zestawu danych :
1.88 GiB
Podziały :
Rozdzielać | Przykłady |
---|---|
'train' | 4000 |
- Struktura funkcji :
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(56,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'walker': FeaturesDict({
'body_height': Tensor(shape=(1,), dtype=float32),
'egocentric_camera': Image(shape=(64, 64, 3), dtype=uint8),
'end_effectors_pos': Tensor(shape=(12,), dtype=float32),
'joints_pos': Tensor(shape=(56,), dtype=float32),
'joints_vel': Tensor(shape=(56,), dtype=float32),
'sensors_accelerometer': Tensor(shape=(3,), dtype=float32),
'sensors_gyro': Tensor(shape=(3,), dtype=float32),
'sensors_velocimeter': Tensor(shape=(3,), dtype=float32),
'world_zaxis': Tensor(shape=(3,), dtype=float32),
}),
}),
'reward': float32,
}),
'timestamp': int64,
})
- Dokumentacja funkcji :
Funkcja | Klasa | Kształt | Typ D | Opis |
---|---|---|---|---|
FunkcjeDict | ||||
identyfikator_odcinka | Napinacz | int64 | ||
kroki | Zbiór danych | |||
kroki/działanie | Napinacz | (56,) | pływak32 | |
kroki/rabat | Napinacz | pływak32 | ||
kroki/jest_pierwszy | Napinacz | bool | ||
kroki/jest_ostatni | Napinacz | bool | ||
kroki/jest_terminalem | Napinacz | bool | ||
kroki/obserwacja | FunkcjeDict | |||
kroki / obserwacja / spacerowicz | FunkcjeDict | |||
kroki/obserwacja/walker/wysokość_ciała | Napinacz | (1,) | pływak32 | |
kroki/obserwacja/spacer/egocentric_camera | Obraz | (64, 64, 3) | uint8 | |
kroki/obserwacja/walker/end_effectors_pos | Napinacz | (12,) | pływak32 | |
kroki/obserwacja/walker/joints_pos | Napinacz | (56,) | pływak32 | |
kroki/obserwacja/walker/joints_vel | Napinacz | (56,) | pływak32 | |
kroki/obserwacja/walker/sensors_accelerometer | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/walker/sensors_gyro | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/walker/czujniki_prędkościomierz | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/walker/world_zaxis | Napinacz | (3,) | pływak32 | |
kroki/nagroda | Napinacz | pływak32 | ||
znak czasu | Napinacz | int64 |
- Przykłady ( tfds.as_dataframe ):
rlu_locomotion/humanoid_gaps
Rozmiar zestawu danych :
4.57 GiB
Podziały :
Rozdzielać | Przykłady |
---|---|
'train' | 8000 |
- Struktura funkcji :
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(56,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'walker': FeaturesDict({
'body_height': Tensor(shape=(1,), dtype=float32),
'egocentric_camera': Image(shape=(64, 64, 3), dtype=uint8),
'end_effectors_pos': Tensor(shape=(12,), dtype=float32),
'joints_pos': Tensor(shape=(56,), dtype=float32),
'joints_vel': Tensor(shape=(56,), dtype=float32),
'sensors_accelerometer': Tensor(shape=(3,), dtype=float32),
'sensors_gyro': Tensor(shape=(3,), dtype=float32),
'sensors_velocimeter': Tensor(shape=(3,), dtype=float32),
'world_zaxis': Tensor(shape=(3,), dtype=float32),
}),
}),
'reward': float32,
}),
'timestamp': int64,
})
- Dokumentacja funkcji :
Funkcja | Klasa | Kształt | Typ D | Opis |
---|---|---|---|---|
FunkcjeDict | ||||
identyfikator_odcinka | Napinacz | int64 | ||
kroki | Zbiór danych | |||
kroki/działanie | Napinacz | (56,) | pływak32 | |
kroki/rabat | Napinacz | pływak32 | ||
kroki/jest_pierwszy | Napinacz | bool | ||
kroki/jest_ostatni | Napinacz | bool | ||
kroki/jest_terminalem | Napinacz | bool | ||
kroki/obserwacja | FunkcjeDict | |||
kroki / obserwacja / spacerowicz | FunkcjeDict | |||
kroki/obserwacja/walker/wysokość_ciała | Napinacz | (1,) | pływak32 | |
kroki/obserwacja/spacer/egocentric_camera | Obraz | (64, 64, 3) | uint8 | |
kroki/obserwacja/walker/end_effectors_pos | Napinacz | (12,) | pływak32 | |
kroki/obserwacja/walker/joints_pos | Napinacz | (56,) | pływak32 | |
kroki/obserwacja/walker/joints_vel | Napinacz | (56,) | pływak32 | |
kroki/obserwacja/walker/sensors_accelerometer | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/walker/sensors_gyro | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/walker/czujniki_prędkościomierz | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/walker/world_zaxis | Napinacz | (3,) | pływak32 | |
kroki/nagroda | Napinacz | pływak32 | ||
znak czasu | Napinacz | int64 |
- Przykłady ( tfds.as_dataframe ):
rlu_locomotion/humanoid_walls
Rozmiar zestawu danych :
2.36 GiB
Podziały :
Rozdzielać | Przykłady |
---|---|
'train' | 4000 |
- Struktura funkcji :
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(56,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'walker': FeaturesDict({
'body_height': Tensor(shape=(1,), dtype=float32),
'egocentric_camera': Image(shape=(64, 64, 3), dtype=uint8),
'end_effectors_pos': Tensor(shape=(12,), dtype=float32),
'joints_pos': Tensor(shape=(56,), dtype=float32),
'joints_vel': Tensor(shape=(56,), dtype=float32),
'sensors_accelerometer': Tensor(shape=(3,), dtype=float32),
'sensors_gyro': Tensor(shape=(3,), dtype=float32),
'sensors_velocimeter': Tensor(shape=(3,), dtype=float32),
'world_zaxis': Tensor(shape=(3,), dtype=float32),
}),
}),
'reward': float32,
}),
'timestamp': int64,
})
- Dokumentacja funkcji :
Funkcja | Klasa | Kształt | Typ D | Opis |
---|---|---|---|---|
FunkcjeDict | ||||
identyfikator_odcinka | Napinacz | int64 | ||
kroki | Zbiór danych | |||
kroki/działanie | Napinacz | (56,) | pływak32 | |
kroki/rabat | Napinacz | pływak32 | ||
kroki/jest_pierwszy | Napinacz | bool | ||
kroki/jest_ostatni | Napinacz | bool | ||
kroki/jest_terminalem | Napinacz | bool | ||
kroki/obserwacja | FunkcjeDict | |||
kroki / obserwacja / spacerowicz | FunkcjeDict | |||
kroki/obserwacja/walker/wysokość_ciała | Napinacz | (1,) | pływak32 | |
kroki/obserwacja/spacer/egocentric_camera | Obraz | (64, 64, 3) | uint8 | |
kroki/obserwacja/walker/end_effectors_pos | Napinacz | (12,) | pływak32 | |
kroki/obserwacja/walker/joints_pos | Napinacz | (56,) | pływak32 | |
kroki/obserwacja/walker/joints_vel | Napinacz | (56,) | pływak32 | |
kroki/obserwacja/walker/sensors_accelerometer | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/walker/sensors_gyro | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/walker/czujniki_prędkościomierz | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/walker/world_zaxis | Napinacz | (3,) | pływak32 | |
kroki/nagroda | Napinacz | pływak32 | ||
znak czasu | Napinacz | int64 |
- Przykłady ( tfds.as_dataframe ):
rlu_lokomocja/rodent_bowl_escape
Rozmiar zestawu danych :
16.46 GiB
Podziały :
Rozdzielać | Przykłady |
---|---|
'train' | 2000 |
- Struktura funkcji :
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(38,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'walker': FeaturesDict({
'appendages_pos': Tensor(shape=(15,), dtype=float32),
'egocentric_camera': Image(shape=(64, 64, 3), dtype=uint8),
'joints_pos': Tensor(shape=(30,), dtype=float32),
'joints_vel': Tensor(shape=(30,), dtype=float32),
'sensors_accelerometer': Tensor(shape=(3,), dtype=float32),
'sensors_gyro': Tensor(shape=(3,), dtype=float32),
'sensors_touch': Tensor(shape=(4,), dtype=float32),
'sensors_velocimeter': Tensor(shape=(3,), dtype=float32),
'tendons_pos': Tensor(shape=(8,), dtype=float32),
'tendons_vel': Tensor(shape=(8,), dtype=float32),
'world_zaxis': Tensor(shape=(3,), dtype=float32),
}),
}),
'reward': float32,
}),
'timestamp': int64,
})
- Dokumentacja funkcji :
Funkcja | Klasa | Kształt | Typ D | Opis |
---|---|---|---|---|
FunkcjeDict | ||||
identyfikator_odcinka | Napinacz | int64 | ||
kroki | Zbiór danych | |||
kroki/działanie | Napinacz | (38,) | pływak32 | |
kroki/rabat | Napinacz | pływak32 | ||
kroki/jest_pierwszy | Napinacz | bool | ||
kroki/jest_ostatni | Napinacz | bool | ||
kroki/jest_terminalem | Napinacz | bool | ||
kroki/obserwacja | FunkcjeDict | |||
kroki / obserwacja / spacerowicz | FunkcjeDict | |||
kroki/obserwacja/walker/appendages_pos | Napinacz | (15,) | pływak32 | |
kroki/obserwacja/spacer/egocentric_camera | Obraz | (64, 64, 3) | uint8 | |
kroki/obserwacja/walker/joints_pos | Napinacz | (30,) | pływak32 | |
kroki/obserwacja/walker/joints_vel | Napinacz | (30,) | pływak32 | |
kroki/obserwacja/walker/sensors_accelerometer | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/walker/sensors_gyro | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/walker/sensors_touch | Napinacz | (4,) | pływak32 | |
kroki/obserwacja/walker/czujniki_prędkościomierz | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/walker/ścięgna_poz | Napinacz | (8,) | pływak32 | |
kroki/obserwacja/walker/ścięgna_vel | Napinacz | (8,) | pływak32 | |
kroki/obserwacja/walker/world_zaxis | Napinacz | (3,) | pływak32 | |
kroki/nagroda | Napinacz | pływak32 | ||
znak czasu | Napinacz | int64 |
- Przykłady ( tfds.as_dataframe ):
rlu_locomotion/rodent_gaps
Rozmiar zestawu danych :
8.90 GiB
Podziały :
Rozdzielać | Przykłady |
---|---|
'train' | 2000 |
- Struktura funkcji :
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(38,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'walker': FeaturesDict({
'appendages_pos': Tensor(shape=(15,), dtype=float32),
'egocentric_camera': Image(shape=(64, 64, 3), dtype=uint8),
'joints_pos': Tensor(shape=(30,), dtype=float32),
'joints_vel': Tensor(shape=(30,), dtype=float32),
'sensors_accelerometer': Tensor(shape=(3,), dtype=float32),
'sensors_gyro': Tensor(shape=(3,), dtype=float32),
'sensors_touch': Tensor(shape=(4,), dtype=float32),
'sensors_velocimeter': Tensor(shape=(3,), dtype=float32),
'tendons_pos': Tensor(shape=(8,), dtype=float32),
'tendons_vel': Tensor(shape=(8,), dtype=float32),
'world_zaxis': Tensor(shape=(3,), dtype=float32),
}),
}),
'reward': float32,
}),
'timestamp': int64,
})
- Dokumentacja funkcji :
Funkcja | Klasa | Kształt | Typ D | Opis |
---|---|---|---|---|
FunkcjeDict | ||||
identyfikator_odcinka | Napinacz | int64 | ||
kroki | Zbiór danych | |||
kroki/działanie | Napinacz | (38,) | pływak32 | |
kroki/rabat | Napinacz | pływak32 | ||
kroki/jest_pierwszy | Napinacz | bool | ||
kroki/jest_ostatni | Napinacz | bool | ||
kroki/jest_terminalem | Napinacz | bool | ||
kroki/obserwacja | FunkcjeDict | |||
kroki / obserwacja / spacerowicz | FunkcjeDict | |||
kroki/obserwacja/walker/appendages_pos | Napinacz | (15,) | pływak32 | |
kroki/obserwacja/spacer/egocentric_camera | Obraz | (64, 64, 3) | uint8 | |
kroki/obserwacja/walker/joints_pos | Napinacz | (30,) | pływak32 | |
kroki/obserwacja/walker/joints_vel | Napinacz | (30,) | pływak32 | |
kroki/obserwacja/walker/sensors_accelerometer | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/walker/sensors_gyro | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/walker/sensors_touch | Napinacz | (4,) | pływak32 | |
kroki/obserwacja/walker/czujniki_prędkościomierz | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/walker/ścięgna_poz | Napinacz | (8,) | pływak32 | |
kroki/obserwacja/walker/ścięgna_vel | Napinacz | (8,) | pływak32 | |
kroki/obserwacja/walker/world_zaxis | Napinacz | (3,) | pływak32 | |
kroki/nagroda | Napinacz | pływak32 | ||
znak czasu | Napinacz | int64 |
- Przykłady ( tfds.as_dataframe ):
rlu_locomotion/rodent_mazes
Rozmiar zestawu danych :
20.71 GiB
Podziały :
Rozdzielać | Przykłady |
---|---|
'train' | 2000 |
- Struktura funkcji :
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(38,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'walker': FeaturesDict({
'appendages_pos': Tensor(shape=(15,), dtype=float32),
'egocentric_camera': Image(shape=(64, 64, 3), dtype=uint8),
'joints_pos': Tensor(shape=(30,), dtype=float32),
'joints_vel': Tensor(shape=(30,), dtype=float32),
'sensors_accelerometer': Tensor(shape=(3,), dtype=float32),
'sensors_gyro': Tensor(shape=(3,), dtype=float32),
'sensors_touch': Tensor(shape=(4,), dtype=float32),
'sensors_velocimeter': Tensor(shape=(3,), dtype=float32),
'tendons_pos': Tensor(shape=(8,), dtype=float32),
'tendons_vel': Tensor(shape=(8,), dtype=float32),
'world_zaxis': Tensor(shape=(3,), dtype=float32),
}),
}),
'reward': float32,
}),
'timestamp': int64,
})
- Dokumentacja funkcji :
Funkcja | Klasa | Kształt | Typ D | Opis |
---|---|---|---|---|
FunkcjeDict | ||||
identyfikator_odcinka | Napinacz | int64 | ||
kroki | Zbiór danych | |||
kroki/działanie | Napinacz | (38,) | pływak32 | |
kroki/rabat | Napinacz | pływak32 | ||
kroki/jest_pierwszy | Napinacz | bool | ||
kroki/jest_ostatni | Napinacz | bool | ||
kroki/jest_terminalem | Napinacz | bool | ||
kroki/obserwacja | FunkcjeDict | |||
kroki / obserwacja / spacerowicz | FunkcjeDict | |||
kroki/obserwacja/walker/appendages_pos | Napinacz | (15,) | pływak32 | |
kroki/obserwacja/spacer/egocentric_camera | Obraz | (64, 64, 3) | uint8 | |
kroki/obserwacja/walker/joints_pos | Napinacz | (30,) | pływak32 | |
kroki/obserwacja/walker/joints_vel | Napinacz | (30,) | pływak32 | |
kroki/obserwacja/walker/sensors_accelerometer | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/walker/sensors_gyro | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/walker/sensors_touch | Napinacz | (4,) | pływak32 | |
kroki/obserwacja/walker/czujniki_prędkościomierz | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/walker/ścięgna_poz | Napinacz | (8,) | pływak32 | |
kroki/obserwacja/walker/ścięgna_vel | Napinacz | (8,) | pływak32 | |
kroki/obserwacja/walker/world_zaxis | Napinacz | (3,) | pływak32 | |
kroki/nagroda | Napinacz | pływak32 | ||
znak czasu | Napinacz | int64 |
- Przykłady ( tfds.as_dataframe ):
rlu_locomotion/rodent_two_touch
Rozmiar zestawu danych :
23.05 GiB
Podziały :
Rozdzielać | Przykłady |
---|---|
'train' | 2000 |
- Struktura funkcji :
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(38,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'walker': FeaturesDict({
'appendages_pos': Tensor(shape=(15,), dtype=float32),
'egocentric_camera': Image(shape=(64, 64, 3), dtype=uint8),
'joints_pos': Tensor(shape=(30,), dtype=float32),
'joints_vel': Tensor(shape=(30,), dtype=float32),
'sensors_accelerometer': Tensor(shape=(3,), dtype=float32),
'sensors_gyro': Tensor(shape=(3,), dtype=float32),
'sensors_touch': Tensor(shape=(4,), dtype=float32),
'sensors_velocimeter': Tensor(shape=(3,), dtype=float32),
'tendons_pos': Tensor(shape=(8,), dtype=float32),
'tendons_vel': Tensor(shape=(8,), dtype=float32),
'world_zaxis': Tensor(shape=(3,), dtype=float32),
}),
}),
'reward': float32,
}),
'timestamp': int64,
})
- Dokumentacja funkcji :
Funkcja | Klasa | Kształt | Typ D | Opis |
---|---|---|---|---|
FunkcjeDict | ||||
identyfikator_odcinka | Napinacz | int64 | ||
kroki | Zbiór danych | |||
kroki/działanie | Napinacz | (38,) | pływak32 | |
kroki/rabat | Napinacz | pływak32 | ||
kroki/jest_pierwszy | Napinacz | bool | ||
kroki/jest_ostatni | Napinacz | bool | ||
kroki/jest_terminalem | Napinacz | bool | ||
kroki/obserwacja | FunkcjeDict | |||
kroki / obserwacja / spacerowicz | FunkcjeDict | |||
kroki/obserwacja/walker/appendages_pos | Napinacz | (15,) | pływak32 | |
kroki/obserwacja/spacer/egocentric_camera | Obraz | (64, 64, 3) | uint8 | |
kroki/obserwacja/walker/joints_pos | Napinacz | (30,) | pływak32 | |
kroki/obserwacja/walker/joints_vel | Napinacz | (30,) | pływak32 | |
kroki/obserwacja/walker/sensors_accelerometer | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/walker/sensors_gyro | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/walker/sensors_touch | Napinacz | (4,) | pływak32 | |
kroki/obserwacja/walker/czujniki_prędkościomierz | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/walker/ścięgna_poz | Napinacz | (8,) | pływak32 | |
kroki/obserwacja/walker/ścięgna_vel | Napinacz | (8,) | pływak32 | |
kroki/obserwacja/walker/world_zaxis | Napinacz | (3,) | pływak32 | |
kroki/nagroda | Napinacz | pływak32 | ||
znak czasu | Napinacz | int64 |
- Przykłady ( tfds.as_dataframe ):