- 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.
DeepMind Control Suite Tassa et al., 2018 est un ensemble de tâches de contrôle implémentées dans MuJoCo Todorov et al., 2012 . Nous considérons un sous-ensemble des tâches fournies dans la suite qui couvrent un large éventail de difficultés.
La plupart des ensembles de données dans ce domaine sont générés à l'aide de D4PG. Pour les environnements Manipulator insert ball et Manipulator insert peg, nous utilisons V-MPO Song et al., 2020 pour générer les données car D4PG est incapable de résoudre ces tâches. Nous publions des ensembles de données pour 9 tâches de la suite de contrôle. 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.
DeepMind Control Suite est une référence RL d'action continue traditionnelle. En particulier, nous vous recommandons de tester votre approche dans DeepMind Control Suite si vous souhaitez comparer avec d'autres méthodes RL hors ligne de pointe.
Page d' accueil : https://github.com/deepmind/deepmind-research/tree/master/rl_unplugged
Code source :
tfds.rl_unplugged.rlu_control_suite.RluControlSuite
Versions :
-
1.0.0
(par défaut) : version initiale.
-
Taille du téléchargement :
Unknown size
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_control_suite/cartpole_swingup (configuration par défaut)
Taille du jeu de données :
2.12 MiB
Mise en cache automatique ( documentation ): Oui
Fractionnements :
Diviser | Exemples |
---|---|
'train' | 40 |
- Structure des fonctionnalités :
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,
})
- 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 | (1,) | 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/position | Tenseur | (3,) | float32 | |
pas/observation/vitesse | Tenseur | (2,) | float32 | |
pas/récompense | Tenseur | float32 | ||
horodatage | Tenseur | int64 |
- Exemples ( tfds.as_dataframe ):
rlu_control_suite/cheetah_run
Taille du jeu de données :
36.58 MiB
Mise en cache automatique ( documentation ): Oui
Fractionnements :
Diviser | Exemples |
---|---|
'train' | 300 |
- Structure des fonctionnalités :
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,
})
- 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 | (6,) | 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/position | Tenseur | (8,) | float32 | |
pas/observation/vitesse | Tenseur | (9,) | float32 | |
pas/récompense | Tenseur | float32 | ||
horodatage | Tenseur | int64 |
- Exemples ( tfds.as_dataframe ):
rlu_control_suite/finger_turn_hard
Taille du jeu de données :
47.61 MiB
Mise en cache automatique ( documentation ): Oui
Fractionnements :
Diviser | Exemples |
---|---|
'train' | 500 |
- Structure des fonctionnalités :
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,
})
- 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 | (2,) | 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 | |||
étapes/observation/dist_to_target | Tenseur | (1,) | float32 | |
pas/observation/position | Tenseur | (4,) | float32 | |
étapes/observation/position_cible | Tenseur | (2,) | float32 | |
pas/observation/vitesse | Tenseur | (3,) | float32 | |
pas/récompense | Tenseur | float32 | ||
horodatage | Tenseur | int64 |
- Exemples ( tfds.as_dataframe ):
rlu_control_suite/fish_swim
Taille du jeu de données :
32.81 MiB
Mise en cache automatique ( documentation ): Oui
Fractionnements :
Diviser | Exemples |
---|---|
'train' | 200 |
- Structure des fonctionnalités :
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,
})
- 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 | (5,) | 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 | |||
étapes/observation/joint_angles | Tenseur | (sept,) | float32 | |
étapes/observation/cible | Tenseur | (3,) | float32 | |
pas/observation/debout | Tenseur | (1,) | float32 | |
pas/observation/vitesse | Tenseur | (13,) | float32 | |
pas/récompense | Tenseur | float32 | ||
horodatage | Tenseur | int64 |
- Exemples ( tfds.as_dataframe ):
rlu_control_suite/humanoid_run
Taille du jeu de données :
1.21 GiB
Mise en cache automatique ( documentation ): Non
Fractionnements :
Diviser | Exemples |
---|---|
'train' | 3 000 |
- Structure des fonctionnalités :
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,
})
- 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 | (21,) | 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/com_velocity | Tenseur | (3,) | float32 | |
pas/observation/extrémités | Tenseur | (12,) | float32 | |
pas/observation/head_height | Tenseur | (1,) | float32 | |
étapes/observation/joint_angles | Tenseur | (21,) | float32 | |
pas/observation/torse_vertical | Tenseur | (3,) | float32 | |
pas/observation/vitesse | Tenseur | (27,) | float32 | |
pas/récompense | Tenseur | float32 | ||
horodatage | Tenseur | int64 |
- Exemples ( tfds.as_dataframe ):
rlu_control_suite/manipulator_insert_ball
Taille du jeu de données :
385.41 MiB
Mise en cache automatique ( documentation ): Non
Fractionnements :
Diviser | Exemples |
---|---|
'train' | 1 500 |
- Structure des fonctionnalités :
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,
})
- 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 | (5,) | 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/bras_pos | Tenseur | (16,) | float32 | |
pas/observation/bras_vel | Tenseur | (8,) | float32 | |
pas/observation/hand_pos | Tenseur | (4,) | float32 | |
étapes/observation/object_pos | Tenseur | (4,) | float32 | |
étapes/observation/object_vel | Tenseur | (3,) | float32 | |
étapes/observation/target_pos | Tenseur | (4,) | float32 | |
pas/observation/toucher | Tenseur | (5,) | float32 | |
pas/récompense | Tenseur | float32 | ||
horodatage | Tenseur | int64 |
- Exemples ( tfds.as_dataframe ):
rlu_control_suite/manipulator_insert_peg
Taille du jeu de données :
385.73 MiB
Mise en cache automatique ( documentation ): Non
Fractionnements :
Diviser | Exemples |
---|---|
'train' | 1 500 |
- Structure des fonctionnalités :
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,
})
- 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 | (5,) | 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/bras_pos | Tenseur | (16,) | float32 | |
pas/observation/bras_vel | Tenseur | (8,) | float32 | |
pas/observation/hand_pos | Tenseur | (4,) | float32 | |
étapes/observation/object_pos | Tenseur | (4,) | float32 | |
étapes/observation/object_vel | Tenseur | (3,) | float32 | |
étapes/observation/target_pos | Tenseur | (4,) | float32 | |
pas/observation/toucher | Tenseur | (5,) | float32 | |
pas/récompense | Tenseur | float32 | ||
horodatage | Tenseur | int64 |
- Exemples ( tfds.as_dataframe ):
rlu_control_suite/walker_stand
Taille du jeu de données :
31.78 MiB
Mise en cache automatique ( documentation ): Oui
Fractionnements :
Diviser | Exemples |
---|---|
'train' | 200 |
- Structure des fonctionnalités :
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,
})
- 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 | (6,) | 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 | |||
marches/observation/hauteur | Tenseur | (1,) | float32 | |
étapes/observation/orientations | Tenseur | (14,) | float32 | |
pas/observation/vitesse | Tenseur | (9,) | float32 | |
pas/récompense | Tenseur | float32 | ||
horodatage | Tenseur | int64 |
- Exemples ( tfds.as_dataframe ):
rlu_control_suite/walker_walk
Taille du jeu de données :
31.78 MiB
Mise en cache automatique ( documentation ): Oui
Fractionnements :
Diviser | Exemples |
---|---|
'train' | 200 |
- Structure des fonctionnalités :
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,
})
- 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 | (6,) | 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 | |||
marches/observation/hauteur | Tenseur | (1,) | float32 | |
étapes/observation/orientations | Tenseur | (14,) | float32 | |
pas/observation/vitesse | Tenseur | (9,) | float32 | |
pas/récompense | Tenseur | float32 | ||
horodatage | Tenseur | int64 |
- Exemples ( tfds.as_dataframe ):