rlu_control_suite

  • 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.

@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

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

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

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

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

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

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

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

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