rlu_locomotion

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

@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

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

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

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

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

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

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