rlu_locomotion

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

@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

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

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

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

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

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

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