- 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.
DeepMind Control Suite Tassa et al., 2018 to zestaw zadań kontrolnych zaimplementowanych w MuJoCo Todorov et al., 2012 . Rozważamy podzbiór zadań przewidzianych w pakiecie, które obejmują szeroki zakres trudności.
Większość zbiorów danych w tej domenie jest generowana przy użyciu D4PG. W przypadku środowisk Manipulator insert ball i Manipulator insert peg używamy V-MPO Song et al., 2020 do generowania danych, ponieważ D4PG nie jest w stanie rozwiązać tych zadań. Udostępniamy zestawy danych dla 9 zadań pakietu kontrolnego. Aby uzyskać szczegółowe informacje na temat sposobu wygenerowania zestawu danych, zapoznaj się z artykułem.
DeepMind Control Suite to tradycyjny test porównawczy ciągłego działania RL. W szczególności zalecamy przetestowanie swojego podejścia w pakiecie DeepMind Control Suite, jeśli jesteś zainteresowany porównaniem z innymi najnowocześniejszymi metodami RL offline.
Strona główna : https://github.com/deepmind/deepmind-research/tree/master/rl_unplugged
Kod źródłowy :
tfds.rl_unplugged.rlu_control_suite.RluControlSuite
Wersje :
-
1.0.0
(domyślnie): Wersja początkowa.
-
Rozmiar pliku do pobrania :
Unknown size
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_control_suite/cartpole_swingup (domyślna konfiguracja)
Rozmiar zestawu danych :
2.12 MiB
Automatyczne buforowanie ( dokumentacja ): Tak
Podziały :
Rozdzielać | Przykłady |
---|---|
'train' | 40 |
- Struktura funkcji :
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(1,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'position': Tensor(shape=(3,), dtype=float32),
'velocity': Tensor(shape=(2,), 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 | (1,) | 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/pozycja | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/prędkość | Napinacz | (2,) | pływak32 | |
kroki/nagroda | Napinacz | pływak32 | ||
znak czasu | Napinacz | int64 |
- Przykłady ( tfds.as_dataframe ):
rlu_control_suite/cheetah_run
Rozmiar zestawu danych :
36.58 MiB
Automatyczne buforowanie ( dokumentacja ): Tak
Podziały :
Rozdzielać | Przykłady |
---|---|
'train' | 300 |
- Struktura funkcji :
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(6,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'position': Tensor(shape=(8,), dtype=float32),
'velocity': Tensor(shape=(9,), 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 | (6,) | 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/pozycja | Napinacz | (8,) | pływak32 | |
kroki/obserwacja/prędkość | Napinacz | (9,) | pływak32 | |
kroki/nagroda | Napinacz | pływak32 | ||
znak czasu | Napinacz | int64 |
- Przykłady ( tfds.as_dataframe ):
rlu_control_suite/finger_turn_hard
Rozmiar zestawu danych :
47.61 MiB
Automatyczne buforowanie ( dokumentacja ): Tak
Podziały :
Rozdzielać | Przykłady |
---|---|
'train' | 500 |
- Struktura funkcji :
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(2,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'dist_to_target': Tensor(shape=(1,), dtype=float32),
'position': Tensor(shape=(4,), dtype=float32),
'target_position': Tensor(shape=(2,), dtype=float32),
'velocity': 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 | (2,) | 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/odległość_do_celu | Napinacz | (1,) | pływak32 | |
kroki/obserwacja/pozycja | Napinacz | (4,) | pływak32 | |
kroki/obserwacja/pozycja_docelowa | Napinacz | (2,) | pływak32 | |
kroki/obserwacja/prędkość | Napinacz | (3,) | pływak32 | |
kroki/nagroda | Napinacz | pływak32 | ||
znak czasu | Napinacz | int64 |
- Przykłady ( tfds.as_dataframe ):
rlu_control_suite/fish_swim
Rozmiar zestawu danych :
32.81 MiB
Automatyczne buforowanie ( dokumentacja ): Tak
Podziały :
Rozdzielać | Przykłady |
---|---|
'train' | 200 |
- Struktura funkcji :
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(5,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'joint_angles': Tensor(shape=(7,), dtype=float32),
'target': Tensor(shape=(3,), dtype=float32),
'upright': Tensor(shape=(1,), dtype=float32),
'velocity': Tensor(shape=(13,), 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 | (5,) | 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/kąty_wspólne | Napinacz | (7,) | pływak32 | |
kroki/obserwacja/cel | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/pionowo | Napinacz | (1,) | pływak32 | |
kroki/obserwacja/prędkość | Napinacz | (13,) | pływak32 | |
kroki/nagroda | Napinacz | pływak32 | ||
znak czasu | Napinacz | int64 |
- Przykłady ( tfds.as_dataframe ):
rlu_control_suite/humanoid_run
Rozmiar zestawu danych :
1.21 GiB
Automatyczne buforowanie ( dokumentacja ): Nie
Podziały :
Rozdzielać | Przykłady |
---|---|
'train' | 3000 |
- Struktura funkcji :
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(21,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'com_velocity': Tensor(shape=(3,), dtype=float32),
'extremities': Tensor(shape=(12,), dtype=float32),
'head_height': Tensor(shape=(1,), dtype=float32),
'joint_angles': Tensor(shape=(21,), dtype=float32),
'torso_vertical': Tensor(shape=(3,), dtype=float32),
'velocity': Tensor(shape=(27,), 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 | (21,) | 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/com_velocity | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/kończyny | Napinacz | (12,) | pływak32 | |
kroki/obserwacja/wysokość_głowy | Napinacz | (1,) | pływak32 | |
kroki/obserwacja/kąty_wspólne | Napinacz | (21,) | pływak32 | |
kroki/obserwacja/torso_vertical | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/prędkość | Napinacz | (27,) | pływak32 | |
kroki/nagroda | Napinacz | pływak32 | ||
znak czasu | Napinacz | int64 |
- Przykłady ( tfds.as_dataframe ):
rlu_control_suite/manipulator_insert_ball
Rozmiar zbioru danych :
385.41 MiB
Automatyczne buforowanie ( dokumentacja ): Nie
Podziały :
Rozdzielać | Przykłady |
---|---|
'train' | 1500 |
- Struktura funkcji :
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(5,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'arm_pos': Tensor(shape=(16,), dtype=float32),
'arm_vel': Tensor(shape=(8,), dtype=float32),
'hand_pos': Tensor(shape=(4,), dtype=float32),
'object_pos': Tensor(shape=(4,), dtype=float32),
'object_vel': Tensor(shape=(3,), dtype=float32),
'target_pos': Tensor(shape=(4,), dtype=float32),
'touch': Tensor(shape=(5,), 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 | (5,) | 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/poz.ramienia | Napinacz | (16,) | pływak32 | |
kroki/obserwacja/ramię_vel | Napinacz | (8,) | pływak32 | |
kroki/obserwacja/pozycja_ręczna | Napinacz | (4,) | pływak32 | |
kroki/obserwacja/pozycja_obiektu | Napinacz | (4,) | pływak32 | |
kroki/obserwacja/obiekt_vel | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/pozycja_docelowa | Napinacz | (4,) | pływak32 | |
kroki/obserwacja/dotyk | Napinacz | (5,) | pływak32 | |
kroki/nagroda | Napinacz | pływak32 | ||
znak czasu | Napinacz | int64 |
- Przykłady ( tfds.as_dataframe ):
rlu_control_suite/manipulator_insert_peg
Rozmiar zestawu danych :
385.73 MiB
Automatyczne buforowanie ( dokumentacja ): Nie
Podziały :
Rozdzielać | Przykłady |
---|---|
'train' | 1500 |
- Struktura funkcji :
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(5,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'arm_pos': Tensor(shape=(16,), dtype=float32),
'arm_vel': Tensor(shape=(8,), dtype=float32),
'hand_pos': Tensor(shape=(4,), dtype=float32),
'object_pos': Tensor(shape=(4,), dtype=float32),
'object_vel': Tensor(shape=(3,), dtype=float32),
'target_pos': Tensor(shape=(4,), dtype=float32),
'touch': Tensor(shape=(5,), 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 | (5,) | 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/poz.ramienia | Napinacz | (16,) | pływak32 | |
kroki/obserwacja/ramię_vel | Napinacz | (8,) | pływak32 | |
kroki/obserwacja/pozycja_ręczna | Napinacz | (4,) | pływak32 | |
kroki/obserwacja/pozycja_obiektu | Napinacz | (4,) | pływak32 | |
kroki/obserwacja/obiekt_vel | Napinacz | (3,) | pływak32 | |
kroki/obserwacja/pozycja_docelowa | Napinacz | (4,) | pływak32 | |
kroki/obserwacja/dotyk | Napinacz | (5,) | pływak32 | |
kroki/nagroda | Napinacz | pływak32 | ||
znak czasu | Napinacz | int64 |
- Przykłady ( tfds.as_dataframe ):
rlu_control_suite/walker_stand
Rozmiar zestawu danych :
31.78 MiB
Automatyczne buforowanie ( dokumentacja ): Tak
Podziały :
Rozdzielać | Przykłady |
---|---|
'train' | 200 |
- Struktura funkcji :
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(6,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'height': Tensor(shape=(1,), dtype=float32),
'orientations': Tensor(shape=(14,), dtype=float32),
'velocity': Tensor(shape=(9,), 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 | (6,) | 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/wysokość | Napinacz | (1,) | pływak32 | |
kroki/obserwacja/kierunki | Napinacz | (14,) | pływak32 | |
kroki/obserwacja/prędkość | Napinacz | (9,) | pływak32 | |
kroki/nagroda | Napinacz | pływak32 | ||
znak czasu | Napinacz | int64 |
- Przykłady ( tfds.as_dataframe ):
rlu_control_suite/walker_walk
Rozmiar zestawu danych :
31.78 MiB
Automatyczne buforowanie ( dokumentacja ): Tak
Podziały :
Rozdzielać | Przykłady |
---|---|
'train' | 200 |
- Struktura funkcji :
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(6,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'height': Tensor(shape=(1,), dtype=float32),
'orientations': Tensor(shape=(14,), dtype=float32),
'velocity': Tensor(shape=(9,), 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 | (6,) | 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/wysokość | Napinacz | (1,) | pływak32 | |
kroki/obserwacja/kierunki | Napinacz | (14,) | pływak32 | |
kroki/obserwacja/prędkość | Napinacz | (9,) | pływak32 | |
kroki/nagroda | Napinacz | pływak32 | ||
znak czasu | Napinacz | int64 |
- Przykłady ( tfds.as_dataframe ):