rlu_control_suite

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

DeepMind Control Suite Tassa et al., 2018 es un conjunto de tareas de control implementadas en MuJoCo Todorov et al., 2012 . Consideramos un subconjunto de las tareas provistas en la suite que cubren una amplia gama de dificultades.

La mayoría de los conjuntos de datos en este dominio se generan utilizando D4PG. Para los entornos Bola de inserción del manipulador y Clavija de inserción del manipulador, usamos V-MPO Song et al., 2020 para generar los datos, ya que D4PG no puede resolver estas tareas. Publicamos conjuntos de datos para 9 tareas de la suite de control. Para obtener detalles sobre cómo se generó el conjunto de datos, consulte el documento.

DeepMind Control Suite es un punto de referencia tradicional de RL de acción continua. En particular, le recomendamos que pruebe su enfoque en DeepMind Control Suite si está interesado en compararlo con otros métodos de RL fuera de línea de última generación.

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

  • Tamaño del conjunto de datos : 2.12 MiB

  • Almacenamiento automático en caché ( documentación ): Sí

  • Divisiones :

Separar Ejemplos
'train' 40
  • Estructura de características :
FeaturesDict({
    'episode_id': tf.int64,
    'steps': Dataset({
        'action': Tensor(shape=(1,), dtype=tf.float32),
        'discount': tf.float32,
        'is_first': tf.bool,
        'is_last': tf.bool,
        'is_terminal': tf.bool,
        'observation': FeaturesDict({
            'position': Tensor(shape=(3,), dtype=tf.float32),
            'velocity': Tensor(shape=(2,), 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 (1,) 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/posición Tensor (3,) tf.float32
pasos/observación/velocidad Tensor (2,) tf.float32
pasos/recompensa Tensor tf.float32
marca de tiempo Tensor tf.int64

rlu_control_suite/cheetah_run

  • Tamaño del conjunto de datos : 36.58 MiB

  • Almacenamiento automático en caché ( documentación ): Sí

  • Divisiones :

Separar Ejemplos
'train' 300
  • Estructura de características :
FeaturesDict({
    'episode_id': tf.int64,
    'steps': Dataset({
        'action': Tensor(shape=(6,), dtype=tf.float32),
        'discount': tf.float32,
        'is_first': tf.bool,
        'is_last': tf.bool,
        'is_terminal': tf.bool,
        'observation': FeaturesDict({
            'position': Tensor(shape=(8,), dtype=tf.float32),
            'velocity': Tensor(shape=(9,), 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 (6,) 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/posición Tensor (8,) tf.float32
pasos/observación/velocidad Tensor (9,) tf.float32
pasos/recompensa Tensor tf.float32
marca de tiempo Tensor tf.int64

rlu_control_suite/finger_turn_hard

  • Tamaño del conjunto de datos : 47.61 MiB

  • Almacenamiento automático en caché ( documentación ): Sí

  • Divisiones :

Separar Ejemplos
'train' 500
  • Estructura de características :
FeaturesDict({
    'episode_id': tf.int64,
    'steps': Dataset({
        'action': Tensor(shape=(2,), dtype=tf.float32),
        'discount': tf.float32,
        'is_first': tf.bool,
        'is_last': tf.bool,
        'is_terminal': tf.bool,
        'observation': FeaturesDict({
            'dist_to_target': Tensor(shape=(1,), dtype=tf.float32),
            'position': Tensor(shape=(4,), dtype=tf.float32),
            'target_position': Tensor(shape=(2,), dtype=tf.float32),
            'velocity': 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 (2,) 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/dist_to_target Tensor (1,) tf.float32
pasos/observación/posición Tensor (4,) tf.float32
pasos/observación/target_position Tensor (2,) tf.float32
pasos/observación/velocidad Tensor (3,) tf.float32
pasos/recompensa Tensor tf.float32
marca de tiempo Tensor tf.int64

rlu_control_suite/fish_swim

  • Tamaño del conjunto de datos : 32.81 MiB

  • Almacenamiento automático en caché ( documentación ): Sí

  • Divisiones :

Separar Ejemplos
'train' 200
  • Estructura de características :
FeaturesDict({
    'episode_id': tf.int64,
    'steps': Dataset({
        'action': Tensor(shape=(5,), dtype=tf.float32),
        'discount': tf.float32,
        'is_first': tf.bool,
        'is_last': tf.bool,
        'is_terminal': tf.bool,
        'observation': FeaturesDict({
            'joint_angles': Tensor(shape=(7,), dtype=tf.float32),
            'target': Tensor(shape=(3,), dtype=tf.float32),
            'upright': Tensor(shape=(1,), dtype=tf.float32),
            'velocity': Tensor(shape=(13,), 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 (5,) 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/joint_angles Tensor (7,) tf.float32
pasos/observación/objetivo Tensor (3,) tf.float32
escalones/observación/vertical Tensor (1,) tf.float32
pasos/observación/velocidad Tensor (13,) tf.float32
pasos/recompensa Tensor tf.float32
marca de tiempo Tensor tf.int64

rlu_control_suite/humanoid_run

  • Tamaño del conjunto de datos : 1.21 GiB

  • Almacenamiento automático en caché ( documentación ): No

  • Divisiones :

Separar Ejemplos
'train' 3,000
  • Estructura de características :
FeaturesDict({
    'episode_id': tf.int64,
    'steps': Dataset({
        'action': Tensor(shape=(21,), dtype=tf.float32),
        'discount': tf.float32,
        'is_first': tf.bool,
        'is_last': tf.bool,
        'is_terminal': tf.bool,
        'observation': FeaturesDict({
            'com_velocity': Tensor(shape=(3,), dtype=tf.float32),
            'extremities': Tensor(shape=(12,), dtype=tf.float32),
            'head_height': Tensor(shape=(1,), dtype=tf.float32),
            'joint_angles': Tensor(shape=(21,), dtype=tf.float32),
            'torso_vertical': Tensor(shape=(3,), dtype=tf.float32),
            'velocity': Tensor(shape=(27,), 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 (21,) 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/com_velocidad Tensor (3,) tf.float32
pasos/observación/extremidades Tensor (12,) tf.float32
pasos/observación/cabeza_altura Tensor (1,) tf.float32
pasos/observación/joint_angles Tensor (21,) tf.float32
pasos/observación/torso_vertical Tensor (3,) tf.float32
pasos/observación/velocidad Tensor (27,) tf.float32
pasos/recompensa Tensor tf.float32
marca de tiempo Tensor tf.int64

rlu_control_suite/manipulator_insert_ball

  • Tamaño del conjunto de datos : 385.41 MiB

  • Almacenamiento automático en caché ( documentación ): No

  • Divisiones :

Separar Ejemplos
'train' 1,500
  • Estructura de características :
FeaturesDict({
    'episode_id': tf.int64,
    'steps': Dataset({
        'action': Tensor(shape=(5,), dtype=tf.float32),
        'discount': tf.float32,
        'is_first': tf.bool,
        'is_last': tf.bool,
        'is_terminal': tf.bool,
        'observation': FeaturesDict({
            'arm_pos': Tensor(shape=(16,), dtype=tf.float32),
            'arm_vel': Tensor(shape=(8,), dtype=tf.float32),
            'hand_pos': Tensor(shape=(4,), dtype=tf.float32),
            'object_pos': Tensor(shape=(4,), dtype=tf.float32),
            'object_vel': Tensor(shape=(3,), dtype=tf.float32),
            'target_pos': Tensor(shape=(4,), dtype=tf.float32),
            'touch': Tensor(shape=(5,), 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 (5,) 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/arm_pos Tensor (dieciséis,) tf.float32
pasos/observación/brazo_vel Tensor (8,) tf.float32
pasos/observación/hand_pos Tensor (4,) tf.float32
pasos/observación/objeto_pos Tensor (4,) tf.float32
pasos/observación/objeto_vel Tensor (3,) tf.float32
pasos/observación/target_pos Tensor (4,) tf.float32
pasos/observación/tacto Tensor (5,) tf.float32
pasos/recompensa Tensor tf.float32
marca de tiempo Tensor tf.int64

rlu_control_suite/manipulator_insert_peg

  • Tamaño del conjunto de datos : 385.73 MiB

  • Almacenamiento automático en caché ( documentación ): No

  • Divisiones :

Separar Ejemplos
'train' 1,500
  • Estructura de características :
FeaturesDict({
    'episode_id': tf.int64,
    'steps': Dataset({
        'action': Tensor(shape=(5,), dtype=tf.float32),
        'discount': tf.float32,
        'is_first': tf.bool,
        'is_last': tf.bool,
        'is_terminal': tf.bool,
        'observation': FeaturesDict({
            'arm_pos': Tensor(shape=(16,), dtype=tf.float32),
            'arm_vel': Tensor(shape=(8,), dtype=tf.float32),
            'hand_pos': Tensor(shape=(4,), dtype=tf.float32),
            'object_pos': Tensor(shape=(4,), dtype=tf.float32),
            'object_vel': Tensor(shape=(3,), dtype=tf.float32),
            'target_pos': Tensor(shape=(4,), dtype=tf.float32),
            'touch': Tensor(shape=(5,), 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 (5,) 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/arm_pos Tensor (dieciséis,) tf.float32
pasos/observación/brazo_vel Tensor (8,) tf.float32
pasos/observación/hand_pos Tensor (4,) tf.float32
pasos/observación/objeto_pos Tensor (4,) tf.float32
pasos/observación/objeto_vel Tensor (3,) tf.float32
pasos/observación/target_pos Tensor (4,) tf.float32
pasos/observación/tacto Tensor (5,) tf.float32
pasos/recompensa Tensor tf.float32
marca de tiempo Tensor tf.int64

rlu_control_suite/walker_stand

  • Tamaño del conjunto de datos : 31.78 MiB

  • Almacenamiento automático en caché ( documentación ): Sí

  • Divisiones :

Separar Ejemplos
'train' 200
  • Estructura de características :
FeaturesDict({
    'episode_id': tf.int64,
    'steps': Dataset({
        'action': Tensor(shape=(6,), dtype=tf.float32),
        'discount': tf.float32,
        'is_first': tf.bool,
        'is_last': tf.bool,
        'is_terminal': tf.bool,
        'observation': FeaturesDict({
            'height': Tensor(shape=(1,), dtype=tf.float32),
            'orientations': Tensor(shape=(14,), dtype=tf.float32),
            'velocity': Tensor(shape=(9,), 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 (6,) 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/altura Tensor (1,) tf.float32
pasos/observación/orientaciones Tensor (14,) tf.float32
pasos/observación/velocidad Tensor (9,) tf.float32
pasos/recompensa Tensor tf.float32
marca de tiempo Tensor tf.int64

rlu_control_suite/walker_walk

  • Tamaño del conjunto de datos : 31.78 MiB

  • Almacenamiento automático en caché ( documentación ): Sí

  • Divisiones :

Separar Ejemplos
'train' 200
  • Estructura de características :
FeaturesDict({
    'episode_id': tf.int64,
    'steps': Dataset({
        'action': Tensor(shape=(6,), dtype=tf.float32),
        'discount': tf.float32,
        'is_first': tf.bool,
        'is_last': tf.bool,
        'is_terminal': tf.bool,
        'observation': FeaturesDict({
            'height': Tensor(shape=(1,), dtype=tf.float32),
            'orientations': Tensor(shape=(14,), dtype=tf.float32),
            'velocity': Tensor(shape=(9,), 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 (6,) 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/altura Tensor (1,) tf.float32
pasos/observación/orientaciones Tensor (14,) tf.float32
pasos/observación/velocidad Tensor (9,) tf.float32
pasos/recompensa Tensor tf.float32
marca de tiempo Tensor tf.int64