rlu_control_suite

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

@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

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

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

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

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

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

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

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

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