rlu_locomoción

  • Descripción :

RL Unplugged es un conjunto de puntos de referencia para el aprendizaje por refuerzo fuera de línea. El RL Unplugged está diseñado en torno a las siguientes consideraciones: para facilitar el uso, proporcionamos los conjuntos de datos con una API unificada que facilita al profesional trabajar con todos los datos en la suite una vez que se ha establecido una canalización general.

Los conjuntos de datos siguen el formato RLDS para representar pasos y episodios.

Estas tareas se componen de las tareas de locomoción del corredor que involucran al CMU Humanoid, para las cuales los esfuerzos anteriores han utilizado datos de captura de movimiento Merel et al., 2019a , Merel et al., 2019b o entrenamiento desde cero Song et al., 2020 . Además, el repositorio de DM Locomotion contiene un conjunto de tareas adaptadas para adaptarse a un roedor virtual Merel et al., 2020 . Hacemos hincapié en que las tareas de locomoción de DM presentan la combinación de un control continuo desafiante de alto DoF junto con la percepción de ricas observaciones egocéntricas. Para obtener detalles sobre cómo se generó el conjunto de datos, consulte el documento.

Le recomendamos que pruebe los métodos de RL fuera de línea en el conjunto de datos de DeepMind Locomotion, si está interesado en un conjunto de datos de RL fuera de línea muy desafiante con espacio de acción continua.

@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 (configuración predeterminada)

  • Tamaño del conjunto de datos : 1.88 GiB

  • Divisiones :

Separar Ejemplos
'train' 4,000
  • Estructura de características :
FeaturesDict({
    'episode_id': tf.int64,
    'steps': Dataset({
        'action': Tensor(shape=(56,), dtype=tf.float32),
        'discount': tf.float32,
        'is_first': tf.bool,
        'is_last': tf.bool,
        'is_terminal': tf.bool,
        'observation': FeaturesDict({
            'walker': FeaturesDict({
                'body_height': Tensor(shape=(1,), dtype=tf.float32),
                'egocentric_camera': Image(shape=(64, 64, 3), dtype=tf.uint8),
                'end_effectors_pos': Tensor(shape=(12,), dtype=tf.float32),
                'joints_pos': Tensor(shape=(56,), dtype=tf.float32),
                'joints_vel': Tensor(shape=(56,), dtype=tf.float32),
                'sensors_accelerometer': Tensor(shape=(3,), dtype=tf.float32),
                'sensors_gyro': Tensor(shape=(3,), dtype=tf.float32),
                'sensors_velocimeter': Tensor(shape=(3,), dtype=tf.float32),
                'world_zaxis': Tensor(shape=(3,), dtype=tf.float32),
            }),
        }),
        'reward': tf.float32,
    }),
    'timestamp': tf.int64,
})
  • Documentación de características :
Rasgo Clase Forma Tipo D Descripción
CaracterísticasDict
episodio_id Tensor tf.int64
pasos conjunto de datos
pasos/acción Tensor (56,) tf.float32
pasos/descuento Tensor tf.float32
pasos/es_primero Tensor tf.bool
pasos/es_último Tensor tf.bool
pasos/es_terminal Tensor tf.bool
pasos/observación CaracterísticasDict
pasos/observación/andador CaracterísticasDict
pasos/observación/andador/cuerpo_altura Tensor (1,) tf.float32
pasos/observación/caminante/egocentric_camera Imagen (64, 64, 3) tf.uint8
pasos/observación/walker/end_effectors_pos Tensor (12,) tf.float32
pasos/observación/andador/articulaciones_pos Tensor (56,) tf.float32
pasos/observación/andador/articulaciones_vel Tensor (56,) tf.float32
pasos/observación/andador/sensores_acelerómetro Tensor (3,) tf.float32
pasos/observación/andador/sensores_gyro Tensor (3,) tf.float32
pasos/observación/andador/sensores_velocimetro Tensor (3,) tf.float32
pasos/observación/caminante/mundo_zaxis Tensor (3,) tf.float32
pasos/recompensa Tensor tf.float32
marca de tiempo Tensor tf.int64

rlu_locomotion/humanoid_gaps

  • Tamaño del conjunto de datos : 4.57 GiB

  • Divisiones :

Separar Ejemplos
'train' 8,000
  • Estructura de características :
FeaturesDict({
    'episode_id': tf.int64,
    'steps': Dataset({
        'action': Tensor(shape=(56,), dtype=tf.float32),
        'discount': tf.float32,
        'is_first': tf.bool,
        'is_last': tf.bool,
        'is_terminal': tf.bool,
        'observation': FeaturesDict({
            'walker': FeaturesDict({
                'body_height': Tensor(shape=(1,), dtype=tf.float32),
                'egocentric_camera': Image(shape=(64, 64, 3), dtype=tf.uint8),
                'end_effectors_pos': Tensor(shape=(12,), dtype=tf.float32),
                'joints_pos': Tensor(shape=(56,), dtype=tf.float32),
                'joints_vel': Tensor(shape=(56,), dtype=tf.float32),
                'sensors_accelerometer': Tensor(shape=(3,), dtype=tf.float32),
                'sensors_gyro': Tensor(shape=(3,), dtype=tf.float32),
                'sensors_velocimeter': Tensor(shape=(3,), dtype=tf.float32),
                'world_zaxis': Tensor(shape=(3,), dtype=tf.float32),
            }),
        }),
        'reward': tf.float32,
    }),
    'timestamp': tf.int64,
})
  • Documentación de características :
Rasgo Clase Forma Tipo D Descripción
CaracterísticasDict
episodio_id Tensor tf.int64
pasos conjunto de datos
pasos/acción Tensor (56,) tf.float32
pasos/descuento Tensor tf.float32
pasos/es_primero Tensor tf.bool
pasos/es_último Tensor tf.bool
pasos/es_terminal Tensor tf.bool
pasos/observación CaracterísticasDict
pasos/observación/andador CaracterísticasDict
pasos/observación/andador/cuerpo_altura Tensor (1,) tf.float32
pasos/observación/caminante/egocentric_camera Imagen (64, 64, 3) tf.uint8
pasos/observación/walker/end_effectors_pos Tensor (12,) tf.float32
pasos/observación/andador/articulaciones_pos Tensor (56,) tf.float32
pasos/observación/andador/articulaciones_vel Tensor (56,) tf.float32
pasos/observación/andador/sensores_acelerómetro Tensor (3,) tf.float32
pasos/observación/andador/sensores_gyro Tensor (3,) tf.float32
pasos/observación/andador/sensores_velocimetro Tensor (3,) tf.float32
pasos/observación/caminante/mundo_zaxis Tensor (3,) tf.float32
pasos/recompensa Tensor tf.float32
marca de tiempo Tensor tf.int64

rlu_locomotion/humanoid_walls

  • Tamaño del conjunto de datos : 2.36 GiB

  • Divisiones :

Separar Ejemplos
'train' 4,000
  • Estructura de características :
FeaturesDict({
    'episode_id': tf.int64,
    'steps': Dataset({
        'action': Tensor(shape=(56,), dtype=tf.float32),
        'discount': tf.float32,
        'is_first': tf.bool,
        'is_last': tf.bool,
        'is_terminal': tf.bool,
        'observation': FeaturesDict({
            'walker': FeaturesDict({
                'body_height': Tensor(shape=(1,), dtype=tf.float32),
                'egocentric_camera': Image(shape=(64, 64, 3), dtype=tf.uint8),
                'end_effectors_pos': Tensor(shape=(12,), dtype=tf.float32),
                'joints_pos': Tensor(shape=(56,), dtype=tf.float32),
                'joints_vel': Tensor(shape=(56,), dtype=tf.float32),
                'sensors_accelerometer': Tensor(shape=(3,), dtype=tf.float32),
                'sensors_gyro': Tensor(shape=(3,), dtype=tf.float32),
                'sensors_velocimeter': Tensor(shape=(3,), dtype=tf.float32),
                'world_zaxis': Tensor(shape=(3,), dtype=tf.float32),
            }),
        }),
        'reward': tf.float32,
    }),
    'timestamp': tf.int64,
})
  • Documentación de características :
Rasgo Clase Forma Tipo D Descripción
CaracterísticasDict
episodio_id Tensor tf.int64
pasos conjunto de datos
pasos/acción Tensor (56,) tf.float32
pasos/descuento Tensor tf.float32
pasos/es_primero Tensor tf.bool
pasos/es_último Tensor tf.bool
pasos/es_terminal Tensor tf.bool
pasos/observación CaracterísticasDict
pasos/observación/andador CaracterísticasDict
pasos/observación/andador/cuerpo_altura Tensor (1,) tf.float32
pasos/observación/caminante/egocentric_camera Imagen (64, 64, 3) tf.uint8
pasos/observación/walker/end_effectors_pos Tensor (12,) tf.float32
pasos/observación/andador/articulaciones_pos Tensor (56,) tf.float32
pasos/observación/andador/articulaciones_vel Tensor (56,) tf.float32
pasos/observación/andador/sensores_acelerómetro Tensor (3,) tf.float32
pasos/observación/andador/sensores_gyro Tensor (3,) tf.float32
pasos/observación/andador/sensores_velocimetro Tensor (3,) tf.float32
pasos/observación/caminante/mundo_zaxis Tensor (3,) tf.float32
pasos/recompensa Tensor tf.float32
marca de tiempo Tensor tf.int64

rlu_locomotion/rodent_bowl_escape

  • Tamaño del conjunto de datos : 16.46 GiB

  • Divisiones :

Separar Ejemplos
'train' 2,000
  • Estructura de características :
FeaturesDict({
    'episode_id': tf.int64,
    'steps': Dataset({
        'action': Tensor(shape=(38,), dtype=tf.float32),
        'discount': tf.float32,
        'is_first': tf.bool,
        'is_last': tf.bool,
        'is_terminal': tf.bool,
        'observation': FeaturesDict({
            'walker': FeaturesDict({
                'appendages_pos': Tensor(shape=(15,), dtype=tf.float32),
                'egocentric_camera': Image(shape=(64, 64, 3), dtype=tf.uint8),
                'joints_pos': Tensor(shape=(30,), dtype=tf.float32),
                'joints_vel': Tensor(shape=(30,), dtype=tf.float32),
                'sensors_accelerometer': Tensor(shape=(3,), dtype=tf.float32),
                'sensors_gyro': Tensor(shape=(3,), dtype=tf.float32),
                'sensors_touch': Tensor(shape=(4,), dtype=tf.float32),
                'sensors_velocimeter': Tensor(shape=(3,), dtype=tf.float32),
                'tendons_pos': Tensor(shape=(8,), dtype=tf.float32),
                'tendons_vel': Tensor(shape=(8,), dtype=tf.float32),
                'world_zaxis': Tensor(shape=(3,), dtype=tf.float32),
            }),
        }),
        'reward': tf.float32,
    }),
    'timestamp': tf.int64,
})
  • Documentación de características :
Rasgo Clase Forma Tipo D Descripción
CaracterísticasDict
episodio_id Tensor tf.int64
pasos conjunto de datos
pasos/acción Tensor (38,) tf.float32
pasos/descuento Tensor tf.float32
pasos/es_primero Tensor tf.bool
pasos/es_último Tensor tf.bool
pasos/es_terminal Tensor tf.bool
pasos/observación CaracterísticasDict
pasos/observación/andador CaracterísticasDict
pasos/observación/caminante/apéndices_pos Tensor (15,) tf.float32
pasos/observación/caminante/egocentric_camera Imagen (64, 64, 3) tf.uint8
pasos/observación/andador/articulaciones_pos Tensor (30,) tf.float32
pasos/observación/andador/articulaciones_vel Tensor (30,) tf.float32
pasos/observación/andador/sensores_acelerómetro Tensor (3,) tf.float32
pasos/observación/andador/sensores_gyro Tensor (3,) tf.float32
pasos/observación/andador/sensores_toque Tensor (4,) tf.float32
pasos/observación/andador/sensores_velocimetro Tensor (3,) tf.float32
pasos/observación/andador/tendons_pos Tensor (8,) tf.float32
pasos/observación/andador/tendons_vel Tensor (8,) tf.float32
pasos/observación/caminante/mundo_zaxis Tensor (3,) tf.float32
pasos/recompensa Tensor tf.float32
marca de tiempo Tensor tf.int64

rlu_locomotion/rodent_gaps

  • Tamaño del conjunto de datos : 8.90 GiB

  • Divisiones :

Separar Ejemplos
'train' 2,000
  • Estructura de características :
FeaturesDict({
    'episode_id': tf.int64,
    'steps': Dataset({
        'action': Tensor(shape=(38,), dtype=tf.float32),
        'discount': tf.float32,
        'is_first': tf.bool,
        'is_last': tf.bool,
        'is_terminal': tf.bool,
        'observation': FeaturesDict({
            'walker': FeaturesDict({
                'appendages_pos': Tensor(shape=(15,), dtype=tf.float32),
                'egocentric_camera': Image(shape=(64, 64, 3), dtype=tf.uint8),
                'joints_pos': Tensor(shape=(30,), dtype=tf.float32),
                'joints_vel': Tensor(shape=(30,), dtype=tf.float32),
                'sensors_accelerometer': Tensor(shape=(3,), dtype=tf.float32),
                'sensors_gyro': Tensor(shape=(3,), dtype=tf.float32),
                'sensors_touch': Tensor(shape=(4,), dtype=tf.float32),
                'sensors_velocimeter': Tensor(shape=(3,), dtype=tf.float32),
                'tendons_pos': Tensor(shape=(8,), dtype=tf.float32),
                'tendons_vel': Tensor(shape=(8,), dtype=tf.float32),
                'world_zaxis': Tensor(shape=(3,), dtype=tf.float32),
            }),
        }),
        'reward': tf.float32,
    }),
    'timestamp': tf.int64,
})
  • Documentación de características :
Rasgo Clase Forma Tipo D Descripción
CaracterísticasDict
episodio_id Tensor tf.int64
pasos conjunto de datos
pasos/acción Tensor (38,) tf.float32
pasos/descuento Tensor tf.float32
pasos/es_primero Tensor tf.bool
pasos/es_último Tensor tf.bool
pasos/es_terminal Tensor tf.bool
pasos/observación CaracterísticasDict
pasos/observación/andador CaracterísticasDict
pasos/observación/caminante/apéndices_pos Tensor (15,) tf.float32
pasos/observación/caminante/egocentric_camera Imagen (64, 64, 3) tf.uint8
pasos/observación/andador/articulaciones_pos Tensor (30,) tf.float32
pasos/observación/andador/articulaciones_vel Tensor (30,) tf.float32
pasos/observación/andador/sensores_acelerómetro Tensor (3,) tf.float32
pasos/observación/andador/sensores_gyro Tensor (3,) tf.float32
pasos/observación/andador/sensores_toque Tensor (4,) tf.float32
pasos/observación/andador/sensores_velocimetro Tensor (3,) tf.float32
pasos/observación/andador/tendons_pos Tensor (8,) tf.float32
pasos/observación/andador/tendons_vel Tensor (8,) tf.float32
pasos/observación/caminante/mundo_zaxis Tensor (3,) tf.float32
pasos/recompensa Tensor tf.float32
marca de tiempo Tensor tf.int64

rlu_locomotion/rodent_mazes

  • Tamaño del conjunto de datos : 20.71 GiB

  • Divisiones :

Separar Ejemplos
'train' 2,000
  • Estructura de características :
FeaturesDict({
    'episode_id': tf.int64,
    'steps': Dataset({
        'action': Tensor(shape=(38,), dtype=tf.float32),
        'discount': tf.float32,
        'is_first': tf.bool,
        'is_last': tf.bool,
        'is_terminal': tf.bool,
        'observation': FeaturesDict({
            'walker': FeaturesDict({
                'appendages_pos': Tensor(shape=(15,), dtype=tf.float32),
                'egocentric_camera': Image(shape=(64, 64, 3), dtype=tf.uint8),
                'joints_pos': Tensor(shape=(30,), dtype=tf.float32),
                'joints_vel': Tensor(shape=(30,), dtype=tf.float32),
                'sensors_accelerometer': Tensor(shape=(3,), dtype=tf.float32),
                'sensors_gyro': Tensor(shape=(3,), dtype=tf.float32),
                'sensors_touch': Tensor(shape=(4,), dtype=tf.float32),
                'sensors_velocimeter': Tensor(shape=(3,), dtype=tf.float32),
                'tendons_pos': Tensor(shape=(8,), dtype=tf.float32),
                'tendons_vel': Tensor(shape=(8,), dtype=tf.float32),
                'world_zaxis': Tensor(shape=(3,), dtype=tf.float32),
            }),
        }),
        'reward': tf.float32,
    }),
    'timestamp': tf.int64,
})
  • Documentación de características :
Rasgo Clase Forma Tipo D Descripción
CaracterísticasDict
episodio_id Tensor tf.int64
pasos conjunto de datos
pasos/acción Tensor (38,) tf.float32
pasos/descuento Tensor tf.float32
pasos/es_primero Tensor tf.bool
pasos/es_último Tensor tf.bool
pasos/es_terminal Tensor tf.bool
pasos/observación CaracterísticasDict
pasos/observación/andador CaracterísticasDict
pasos/observación/caminante/apéndices_pos Tensor (15,) tf.float32
pasos/observación/caminante/egocentric_camera Imagen (64, 64, 3) tf.uint8
pasos/observación/andador/articulaciones_pos Tensor (30,) tf.float32
pasos/observación/andador/articulaciones_vel Tensor (30,) tf.float32
pasos/observación/andador/sensores_acelerómetro Tensor (3,) tf.float32
pasos/observación/andador/sensores_gyro Tensor (3,) tf.float32
pasos/observación/andador/sensores_toque Tensor (4,) tf.float32
pasos/observación/andador/sensores_velocimetro Tensor (3,) tf.float32
pasos/observación/andador/tendons_pos Tensor (8,) tf.float32
pasos/observación/andador/tendons_vel Tensor (8,) tf.float32
pasos/observación/caminante/mundo_zaxis Tensor (3,) tf.float32
pasos/recompensa Tensor tf.float32
marca de tiempo Tensor tf.int64

rlu_locomotion/rodent_two_touch

  • Tamaño del conjunto de datos : 23.05 GiB

  • Divisiones :

Separar Ejemplos
'train' 2,000
  • Estructura de características :
FeaturesDict({
    'episode_id': tf.int64,
    'steps': Dataset({
        'action': Tensor(shape=(38,), dtype=tf.float32),
        'discount': tf.float32,
        'is_first': tf.bool,
        'is_last': tf.bool,
        'is_terminal': tf.bool,
        'observation': FeaturesDict({
            'walker': FeaturesDict({
                'appendages_pos': Tensor(shape=(15,), dtype=tf.float32),
                'egocentric_camera': Image(shape=(64, 64, 3), dtype=tf.uint8),
                'joints_pos': Tensor(shape=(30,), dtype=tf.float32),
                'joints_vel': Tensor(shape=(30,), dtype=tf.float32),
                'sensors_accelerometer': Tensor(shape=(3,), dtype=tf.float32),
                'sensors_gyro': Tensor(shape=(3,), dtype=tf.float32),
                'sensors_touch': Tensor(shape=(4,), dtype=tf.float32),
                'sensors_velocimeter': Tensor(shape=(3,), dtype=tf.float32),
                'tendons_pos': Tensor(shape=(8,), dtype=tf.float32),
                'tendons_vel': Tensor(shape=(8,), dtype=tf.float32),
                'world_zaxis': Tensor(shape=(3,), dtype=tf.float32),
            }),
        }),
        'reward': tf.float32,
    }),
    'timestamp': tf.int64,
})
  • Documentación de características :
Rasgo Clase Forma Tipo D Descripción
CaracterísticasDict
episodio_id Tensor tf.int64
pasos conjunto de datos
pasos/acción Tensor (38,) tf.float32
pasos/descuento Tensor tf.float32
pasos/es_primero Tensor tf.bool
pasos/es_último Tensor tf.bool
pasos/es_terminal Tensor tf.bool
pasos/observación CaracterísticasDict
pasos/observación/andador CaracterísticasDict
pasos/observación/caminante/apéndices_pos Tensor (15,) tf.float32
pasos/observación/caminante/egocentric_camera Imagen (64, 64, 3) tf.uint8
pasos/observación/andador/articulaciones_pos Tensor (30,) tf.float32
pasos/observación/andador/articulaciones_vel Tensor (30,) tf.float32
pasos/observación/andador/sensores_acelerómetro Tensor (3,) tf.float32
pasos/observación/andador/sensores_gyro Tensor (3,) tf.float32
pasos/observación/andador/sensores_toque Tensor (4,) tf.float32
pasos/observación/andador/sensores_velocimetro Tensor (3,) tf.float32
pasos/observación/andador/tendons_pos Tensor (8,) tf.float32
pasos/observación/andador/tendons_vel Tensor (8,) tf.float32
pasos/observación/caminante/mundo_zaxis Tensor (3,) tf.float32
pasos/recompensa Tensor tf.float32
marca de tiempo Tensor tf.int64