- Descriptif :
RL Unplugged est une suite de références pour l'apprentissage par renforcement hors ligne. Le RL Unplugged est conçu autour des considérations suivantes : pour faciliter l'utilisation, nous fournissons les ensembles de données avec une API unifiée qui permet au praticien de travailler facilement avec toutes les données de la suite une fois qu'un pipeline général a été établi.
Les ensembles de données suivent le format RLDS pour représenter les étapes et les épisodes.
Ces tâches sont constituées des tâches de locomotion de couloir impliquant l'humanoïde CMU, pour lesquelles des efforts antérieurs ont soit utilisé des données de capture de mouvement Merel et al., 2019a , Merel et al., 2019b ou une formation à partir de zéro Song et al., 2020 . De plus, le référentiel DM Locomotion contient un ensemble de tâches adaptées pour convenir à un rongeur virtuel Merel et al., 2020 . Nous soulignons que les tâches de DM Locomotion comportent la combinaison d'un contrôle continu difficile à haut degré de liberté et d'une perception à partir d'observations égocentriques riches. Pour plus de détails sur la façon dont l'ensemble de données a été généré, veuillez vous reporter à l'article.
Nous vous recommandons d'essayer les méthodes RL hors ligne sur l'ensemble de données DeepMind Locomotion, si vous êtes intéressé par un ensemble de données RL hors ligne très difficile avec un espace d'action continu.
Page d' accueil : https://github.com/deepmind/deepmind-research/tree/master/rl_unplugged
Code source :
tfds.rl_unplugged.rlu_locomotion.RluLocomotion
Versions :
-
1.0.0
(par défaut) : version initiale.
-
Taille du téléchargement :
Unknown size
Mise en cache automatique ( documentation ): Non
Clés supervisées (Voir
as_supervised
doc ):None
Figure ( tfds.show_examples ) : non pris en charge.
Citation :
@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 (configuration par défaut)
Taille du jeu de données :
1.88 GiB
Fractionnements :
Diviser | Exemples |
---|---|
'train' | 4 000 |
- Structure des fonctionnalités :
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,
})
- Documentation des fonctionnalités :
Caractéristique | Classer | Forme | Dtype | La description |
---|---|---|---|---|
FonctionnalitésDict | ||||
épisode_id | Tenseur | int64 | ||
pas | Base de données | |||
étapes/action | Tenseur | (56,) | float32 | |
étapes/réduction | Tenseur | float32 | ||
étapes/is_first | Tenseur | bourdonner | ||
pas/est_dernier | Tenseur | bourdonner | ||
étapes/is_terminal | Tenseur | bourdonner | ||
étapes/observation | FonctionnalitésDict | |||
pas/observation/marcheur | FonctionnalitésDict | |||
pas/observation/marcheur/hauteur_corps | Tenseur | (1,) | float32 | |
pas/observation/marcheur/egocentric_camera | Image | (64, 64, 3) | uint8 | |
pas/observation/marcheur/end_effectors_pos | Tenseur | (12,) | float32 | |
pas/observation/marcheur/articulations_pos | Tenseur | (56,) | float32 | |
pas/observation/marcheur/joints_vel | Tenseur | (56,) | float32 | |
pas/observation/marcheur/capteurs_accéléromètre | Tenseur | (3,) | float32 | |
pas/observation/marcheur/capteurs_gyro | Tenseur | (3,) | float32 | |
pas/observation/marcheur/capteurs_velocimètre | Tenseur | (3,) | float32 | |
pas/observation/marcheur/world_zaxis | Tenseur | (3,) | float32 | |
pas/récompense | Tenseur | float32 | ||
horodatage | Tenseur | int64 |
- Exemples ( tfds.as_dataframe ):
rlu_locomotion/humanoid_gaps
Taille du jeu de données :
4.57 GiB
Fractionnements :
Diviser | Exemples |
---|---|
'train' | 8 000 |
- Structure des fonctionnalités :
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,
})
- Documentation des fonctionnalités :
Caractéristique | Classer | Forme | Dtype | La description |
---|---|---|---|---|
FonctionnalitésDict | ||||
épisode_id | Tenseur | int64 | ||
pas | Base de données | |||
étapes/action | Tenseur | (56,) | float32 | |
étapes/réduction | Tenseur | float32 | ||
étapes/is_first | Tenseur | bourdonner | ||
pas/est_dernier | Tenseur | bourdonner | ||
étapes/is_terminal | Tenseur | bourdonner | ||
étapes/observation | FonctionnalitésDict | |||
pas/observation/marcheur | FonctionnalitésDict | |||
pas/observation/marcheur/hauteur_corps | Tenseur | (1,) | float32 | |
pas/observation/marcheur/egocentric_camera | Image | (64, 64, 3) | uint8 | |
pas/observation/marcheur/end_effectors_pos | Tenseur | (12,) | float32 | |
pas/observation/marcheur/articulations_pos | Tenseur | (56,) | float32 | |
pas/observation/marcheur/joints_vel | Tenseur | (56,) | float32 | |
pas/observation/marcheur/capteurs_accéléromètre | Tenseur | (3,) | float32 | |
pas/observation/marcheur/capteurs_gyro | Tenseur | (3,) | float32 | |
pas/observation/marcheur/capteurs_velocimètre | Tenseur | (3,) | float32 | |
pas/observation/marcheur/world_zaxis | Tenseur | (3,) | float32 | |
pas/récompense | Tenseur | float32 | ||
horodatage | Tenseur | int64 |
- Exemples ( tfds.as_dataframe ):
rlu_locomotion/humanoid_walls
Taille du jeu de données :
2.36 GiB
Fractionnements :
Diviser | Exemples |
---|---|
'train' | 4 000 |
- Structure des fonctionnalités :
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,
})
- Documentation des fonctionnalités :
Caractéristique | Classer | Forme | Dtype | La description |
---|---|---|---|---|
FonctionnalitésDict | ||||
épisode_id | Tenseur | int64 | ||
pas | Base de données | |||
étapes/action | Tenseur | (56,) | float32 | |
étapes/réduction | Tenseur | float32 | ||
étapes/is_first | Tenseur | bourdonner | ||
pas/est_dernier | Tenseur | bourdonner | ||
étapes/is_terminal | Tenseur | bourdonner | ||
étapes/observation | FonctionnalitésDict | |||
pas/observation/marcheur | FonctionnalitésDict | |||
pas/observation/marcheur/hauteur_corps | Tenseur | (1,) | float32 | |
pas/observation/marcheur/egocentric_camera | Image | (64, 64, 3) | uint8 | |
pas/observation/marcheur/end_effectors_pos | Tenseur | (12,) | float32 | |
pas/observation/marcheur/articulations_pos | Tenseur | (56,) | float32 | |
pas/observation/marcheur/joints_vel | Tenseur | (56,) | float32 | |
pas/observation/marcheur/capteurs_accéléromètre | Tenseur | (3,) | float32 | |
pas/observation/marcheur/capteurs_gyro | Tenseur | (3,) | float32 | |
pas/observation/marcheur/capteurs_velocimètre | Tenseur | (3,) | float32 | |
pas/observation/marcheur/world_zaxis | Tenseur | (3,) | float32 | |
pas/récompense | Tenseur | float32 | ||
horodatage | Tenseur | int64 |
- Exemples ( tfds.as_dataframe ):
rlu_locomotion/rodent_bowl_escape
Taille du jeu de données :
16.46 GiB
Fractionnements :
Diviser | Exemples |
---|---|
'train' | 2 000 |
- Structure des fonctionnalités :
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,
})
- Documentation des fonctionnalités :
Caractéristique | Classer | Forme | Dtype | La description |
---|---|---|---|---|
FonctionnalitésDict | ||||
épisode_id | Tenseur | int64 | ||
pas | Base de données | |||
étapes/action | Tenseur | (38,) | float32 | |
étapes/réduction | Tenseur | float32 | ||
étapes/is_first | Tenseur | bourdonner | ||
pas/est_dernier | Tenseur | bourdonner | ||
étapes/is_terminal | Tenseur | bourdonner | ||
étapes/observation | FonctionnalitésDict | |||
pas/observation/marcheur | FonctionnalitésDict | |||
pas/observation/marcheur/appendices_pos | Tenseur | (15,) | float32 | |
pas/observation/marcheur/egocentric_camera | Image | (64, 64, 3) | uint8 | |
pas/observation/marcheur/articulations_pos | Tenseur | (30,) | float32 | |
pas/observation/marcheur/joints_vel | Tenseur | (30,) | float32 | |
pas/observation/marcheur/capteurs_accéléromètre | Tenseur | (3,) | float32 | |
pas/observation/marcheur/capteurs_gyro | Tenseur | (3,) | float32 | |
pas/observation/marcheur/capteurs_touch | Tenseur | (4,) | float32 | |
pas/observation/marcheur/capteurs_velocimètre | Tenseur | (3,) | float32 | |
pas/observation/marcheur/tendons_pos | Tenseur | (8,) | float32 | |
pas/observation/marcheur/tendons_vel | Tenseur | (8,) | float32 | |
pas/observation/marcheur/world_zaxis | Tenseur | (3,) | float32 | |
pas/récompense | Tenseur | float32 | ||
horodatage | Tenseur | int64 |
- Exemples ( tfds.as_dataframe ):
rlu_locomotion/rodent_gaps
Taille du jeu de données :
8.90 GiB
Fractionnements :
Diviser | Exemples |
---|---|
'train' | 2 000 |
- Structure des fonctionnalités :
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,
})
- Documentation des fonctionnalités :
Caractéristique | Classer | Forme | Dtype | La description |
---|---|---|---|---|
FonctionnalitésDict | ||||
épisode_id | Tenseur | int64 | ||
pas | Base de données | |||
étapes/action | Tenseur | (38,) | float32 | |
étapes/réduction | Tenseur | float32 | ||
étapes/is_first | Tenseur | bourdonner | ||
pas/est_dernier | Tenseur | bourdonner | ||
étapes/is_terminal | Tenseur | bourdonner | ||
étapes/observation | FonctionnalitésDict | |||
pas/observation/marcheur | FonctionnalitésDict | |||
pas/observation/marcheur/appendices_pos | Tenseur | (15,) | float32 | |
pas/observation/marcheur/egocentric_camera | Image | (64, 64, 3) | uint8 | |
pas/observation/marcheur/articulations_pos | Tenseur | (30,) | float32 | |
pas/observation/marcheur/joints_vel | Tenseur | (30,) | float32 | |
pas/observation/marcheur/capteurs_accéléromètre | Tenseur | (3,) | float32 | |
pas/observation/marcheur/capteurs_gyro | Tenseur | (3,) | float32 | |
pas/observation/marcheur/capteurs_touch | Tenseur | (4,) | float32 | |
pas/observation/marcheur/capteurs_velocimètre | Tenseur | (3,) | float32 | |
pas/observation/marcheur/tendons_pos | Tenseur | (8,) | float32 | |
pas/observation/marcheur/tendons_vel | Tenseur | (8,) | float32 | |
pas/observation/marcheur/world_zaxis | Tenseur | (3,) | float32 | |
pas/récompense | Tenseur | float32 | ||
horodatage | Tenseur | int64 |
- Exemples ( tfds.as_dataframe ):
rlu_locomotion/rodent_mazes
Taille du jeu de données :
20.71 GiB
Fractionnements :
Diviser | Exemples |
---|---|
'train' | 2 000 |
- Structure des fonctionnalités :
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,
})
- Documentation des fonctionnalités :
Caractéristique | Classer | Forme | Dtype | La description |
---|---|---|---|---|
FonctionnalitésDict | ||||
épisode_id | Tenseur | int64 | ||
pas | Base de données | |||
étapes/action | Tenseur | (38,) | float32 | |
étapes/réduction | Tenseur | float32 | ||
étapes/is_first | Tenseur | bourdonner | ||
pas/est_dernier | Tenseur | bourdonner | ||
étapes/is_terminal | Tenseur | bourdonner | ||
étapes/observation | FonctionnalitésDict | |||
pas/observation/marcheur | FonctionnalitésDict | |||
pas/observation/marcheur/appendices_pos | Tenseur | (15,) | float32 | |
pas/observation/marcheur/egocentric_camera | Image | (64, 64, 3) | uint8 | |
pas/observation/marcheur/articulations_pos | Tenseur | (30,) | float32 | |
pas/observation/marcheur/joints_vel | Tenseur | (30,) | float32 | |
pas/observation/marcheur/capteurs_accéléromètre | Tenseur | (3,) | float32 | |
pas/observation/marcheur/capteurs_gyro | Tenseur | (3,) | float32 | |
pas/observation/marcheur/capteurs_touch | Tenseur | (4,) | float32 | |
pas/observation/marcheur/capteurs_velocimètre | Tenseur | (3,) | float32 | |
pas/observation/marcheur/tendons_pos | Tenseur | (8,) | float32 | |
pas/observation/marcheur/tendons_vel | Tenseur | (8,) | float32 | |
pas/observation/marcheur/world_zaxis | Tenseur | (3,) | float32 | |
pas/récompense | Tenseur | float32 | ||
horodatage | Tenseur | int64 |
- Exemples ( tfds.as_dataframe ):
rlu_locomotion/rodent_two_touch
Taille du jeu de données :
23.05 GiB
Fractionnements :
Diviser | Exemples |
---|---|
'train' | 2 000 |
- Structure des fonctionnalités :
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,
})
- Documentation des fonctionnalités :
Caractéristique | Classer | Forme | Dtype | La description |
---|---|---|---|---|
FonctionnalitésDict | ||||
épisode_id | Tenseur | int64 | ||
pas | Base de données | |||
étapes/action | Tenseur | (38,) | float32 | |
étapes/réduction | Tenseur | float32 | ||
étapes/is_first | Tenseur | bourdonner | ||
pas/est_dernier | Tenseur | bourdonner | ||
étapes/is_terminal | Tenseur | bourdonner | ||
étapes/observation | FonctionnalitésDict | |||
pas/observation/marcheur | FonctionnalitésDict | |||
pas/observation/marcheur/appendices_pos | Tenseur | (15,) | float32 | |
pas/observation/marcheur/egocentric_camera | Image | (64, 64, 3) | uint8 | |
pas/observation/marcheur/articulations_pos | Tenseur | (30,) | float32 | |
pas/observation/marcheur/joints_vel | Tenseur | (30,) | float32 | |
pas/observation/marcheur/capteurs_accéléromètre | Tenseur | (3,) | float32 | |
pas/observation/marcheur/capteurs_gyro | Tenseur | (3,) | float32 | |
pas/observation/marcheur/capteurs_touch | Tenseur | (4,) | float32 | |
pas/observation/marcheur/capteurs_velocimètre | Tenseur | (3,) | float32 | |
pas/observation/marcheur/tendons_pos | Tenseur | (8,) | float32 | |
pas/observation/marcheur/tendons_vel | Tenseur | (8,) | float32 | |
pas/observation/marcheur/world_zaxis | Tenseur | (3,) | float32 | |
pas/récompense | Tenseur | float32 | ||
horodatage | Tenseur | int64 |
- Exemples ( tfds.as_dataframe ):