rlu_locomotion

  • Описание :

RL Unplugged — это набор тестов для автономного обучения с подкреплением. RL Unplugged разработан с учетом следующих соображений: чтобы упростить использование, мы предоставляем наборы данных с унифицированным API, который позволяет практикующим специалистам легко работать со всеми данными в наборе после того, как общий конвейер был установлен.

Наборы данных соответствуют формату RLDS для представления шагов и эпизодов.

Эти задачи состоят из задач на передвижение в коридоре с участием CMU Humanoid, для которых в предыдущих усилиях использовались либо данные захвата движения Merel et al., 2019a , Merel et al., 2019b, либо обучение с нуля Song et al., 2020 . Кроме того, репозиторий DM Locomotion содержит набор задач, адаптированных для работы с виртуальным грызуном Merel et al., 2020 . Мы подчеркиваем, что задачи DM Locomotion сочетают в себе сложный непрерывный контроль с высокой степенью свободы и восприятие на основе богатых эгоцентрических наблюдений. Подробнее о том, как был сгенерирован набор данных, см. в документе.

Мы рекомендуем вам попробовать автономные методы RL в наборе данных DeepMind Locomotion, если вы заинтересованы в очень сложном автономном наборе данных RL с непрерывным пространством действий.

@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 (конфигурация по умолчанию)

  • Размер набора данных : 1.88 GiB

  • Сплиты :

Расколоть Примеры
'train' 4000
  • Структура функции :
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,
})
  • Документация по функциям :
Особенность Учебный класс Форма Dтип Описание
ОсобенностиDict
id_эпизода Тензор tf.int64
шаги Набор данных
шаги/действие Тензор (56,) tf.float32
шаги/скидка Тензор tf.float32
шаги / is_first Тензор tf.bool
шаги/is_last Тензор tf.bool
шаги/is_terminal Тензор tf.bool
шаги/наблюдение ОсобенностиDict
шаги/наблюдение/ходок ОсобенностиDict
шаги/наблюдение/ходок/body_height Тензор (1,) tf.float32
шаги/наблюдение/ходок/эгоцентрическая_камера Изображение (64, 64, 3) tf.uint8
шаги/наблюдение/ходок/end_efectors_pos Тензор (12,) tf.float32
шаги/наблюдение/ходок/joints_pos Тензор (56,) tf.float32
шаги/наблюдение/ходок/joints_vel Тензор (56,) tf.float32
шаги/наблюдение/ходок/sensors_accelerometer Тензор (3,) tf.float32
шаги/наблюдение/ходок/sensors_gyro Тензор (3,) tf.float32
шаги/наблюдение/ходок/sensors_velocimeter Тензор (3,) tf.float32
шаги/наблюдение/ходок/world_zaxis Тензор (3,) tf.float32
шаги/награда Тензор tf.float32
отметка времени Тензор tf.int64

rlu_locomotion/humanoid_gaps

  • Размер набора данных : 4.57 GiB

  • Сплиты :

Расколоть Примеры
'train' 8000
  • Структура функции :
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,
})
  • Документация по функциям :
Особенность Учебный класс Форма Dтип Описание
ОсобенностиDict
id_эпизода Тензор tf.int64
шаги Набор данных
шаги/действие Тензор (56,) tf.float32
шаги/скидка Тензор tf.float32
шаги / is_first Тензор tf.bool
шаги/is_last Тензор tf.bool
шаги/is_terminal Тензор tf.bool
шаги/наблюдение ОсобенностиDict
шаги/наблюдение/ходок ОсобенностиDict
шаги/наблюдение/ходок/body_height Тензор (1,) tf.float32
шаги/наблюдение/ходок/эгоцентрическая_камера Изображение (64, 64, 3) tf.uint8
шаги/наблюдение/ходок/end_efectors_pos Тензор (12,) tf.float32
шаги/наблюдение/ходок/joints_pos Тензор (56,) tf.float32
шаги/наблюдение/ходок/joints_vel Тензор (56,) tf.float32
шаги/наблюдение/ходок/sensors_accelerometer Тензор (3,) tf.float32
шаги/наблюдение/ходок/sensors_gyro Тензор (3,) tf.float32
шаги/наблюдение/ходок/sensors_velocimeter Тензор (3,) tf.float32
шаги/наблюдение/ходок/world_zaxis Тензор (3,) tf.float32
шаги/награда Тензор tf.float32
отметка времени Тензор tf.int64

rlu_locomotion/humanoid_walls

  • Размер набора данных : 2.36 GiB

  • Сплиты :

Расколоть Примеры
'train' 4000
  • Структура функции :
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,
})
  • Документация по функциям :
Особенность Учебный класс Форма Dтип Описание
ОсобенностиDict
id_эпизода Тензор tf.int64
шаги Набор данных
шаги/действие Тензор (56,) tf.float32
шаги/скидка Тензор tf.float32
шаги / is_first Тензор tf.bool
шаги/is_last Тензор tf.bool
шаги/is_terminal Тензор tf.bool
шаги/наблюдение ОсобенностиDict
шаги/наблюдение/ходок ОсобенностиDict
шаги/наблюдение/ходок/body_height Тензор (1,) tf.float32
шаги/наблюдение/ходок/эгоцентрическая_камера Изображение (64, 64, 3) tf.uint8
шаги/наблюдение/ходок/end_efectors_pos Тензор (12,) tf.float32
шаги/наблюдение/ходок/joints_pos Тензор (56,) tf.float32
шаги/наблюдение/ходок/joints_vel Тензор (56,) tf.float32
шаги/наблюдение/ходок/sensors_accelerometer Тензор (3,) tf.float32
шаги/наблюдение/ходок/sensors_gyro Тензор (3,) tf.float32
шаги/наблюдение/ходок/sensors_velocimeter Тензор (3,) tf.float32
шаги/наблюдение/ходок/world_zaxis Тензор (3,) tf.float32
шаги/награда Тензор tf.float32
отметка времени Тензор tf.int64

rlu_locomotion/rodent_bowl_escape

  • Размер набора данных : 16.46 GiB

  • Сплиты :

Расколоть Примеры
'train' 2000
  • Структура функции :
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,
})
  • Документация по функциям :
Особенность Учебный класс Форма Dтип Описание
ОсобенностиDict
id_эпизода Тензор tf.int64
шаги Набор данных
шаги/действие Тензор (38,) tf.float32
шаги/скидка Тензор tf.float32
шаги / is_first Тензор tf.bool
шаги/is_last Тензор tf.bool
шаги/is_terminal Тензор tf.bool
шаги/наблюдение ОсобенностиDict
шаги/наблюдение/ходок ОсобенностиDict
шаги/наблюдение/ходок/appendages_pos Тензор (15,) tf.float32
шаги/наблюдение/ходок/эгоцентрическая_камера Изображение (64, 64, 3) tf.uint8
шаги/наблюдение/ходок/joints_pos Тензор (30,) tf.float32
шаги/наблюдение/ходок/joints_vel Тензор (30,) tf.float32
шаги/наблюдение/ходок/sensors_accelerometer Тензор (3,) tf.float32
шаги/наблюдение/ходок/sensors_gyro Тензор (3,) tf.float32
шаги/наблюдение/ходок/sensors_touch Тензор (4,) tf.float32
шаги/наблюдение/ходок/sensors_velocimeter Тензор (3,) tf.float32
шаги/наблюдение/ходок/tendons_pos Тензор (8,) tf.float32
шаги/наблюдение/ходок/tendons_vel Тензор (8,) tf.float32
шаги/наблюдение/ходок/world_zaxis Тензор (3,) tf.float32
шаги/награда Тензор tf.float32
отметка времени Тензор tf.int64

rlu_locomotion/rodent_gaps

  • Размер набора данных : 8.90 GiB

  • Сплиты :

Расколоть Примеры
'train' 2000
  • Структура функции :
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,
})
  • Документация по функциям :
Особенность Учебный класс Форма Dтип Описание
ОсобенностиDict
id_эпизода Тензор tf.int64
шаги Набор данных
шаги/действие Тензор (38,) tf.float32
шаги/скидка Тензор tf.float32
шаги / is_first Тензор tf.bool
шаги/is_last Тензор tf.bool
шаги/is_terminal Тензор tf.bool
шаги/наблюдение ОсобенностиDict
шаги/наблюдение/ходок ОсобенностиDict
шаги/наблюдение/ходок/appendages_pos Тензор (15,) tf.float32
шаги/наблюдение/ходок/эгоцентрическая_камера Изображение (64, 64, 3) tf.uint8
шаги/наблюдение/ходок/joints_pos Тензор (30,) tf.float32
шаги/наблюдение/ходок/joints_vel Тензор (30,) tf.float32
шаги/наблюдение/ходок/sensors_accelerometer Тензор (3,) tf.float32
шаги/наблюдение/ходок/sensors_gyro Тензор (3,) tf.float32
шаги/наблюдение/ходок/sensors_touch Тензор (4,) tf.float32
шаги/наблюдение/ходок/sensors_velocimeter Тензор (3,) tf.float32
шаги/наблюдение/ходок/tendons_pos Тензор (8,) tf.float32
шаги/наблюдение/ходок/tendons_vel Тензор (8,) tf.float32
шаги/наблюдение/ходок/world_zaxis Тензор (3,) tf.float32
шаги/награда Тензор tf.float32
отметка времени Тензор tf.int64

rlu_locomotion/rodent_mazes

  • Размер набора данных : 20.71 GiB

  • Сплиты :

Расколоть Примеры
'train' 2000
  • Структура функции :
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,
})
  • Документация по функциям :
Особенность Учебный класс Форма Dтип Описание
ОсобенностиDict
id_эпизода Тензор tf.int64
шаги Набор данных
шаги/действие Тензор (38,) tf.float32
шаги/скидка Тензор tf.float32
шаги / is_first Тензор tf.bool
шаги/is_last Тензор tf.bool
шаги/is_terminal Тензор tf.bool
шаги/наблюдение ОсобенностиDict
шаги/наблюдение/ходок ОсобенностиDict
шаги/наблюдение/ходок/appendages_pos Тензор (15,) tf.float32
шаги/наблюдение/ходок/эгоцентрическая_камера Изображение (64, 64, 3) tf.uint8
шаги/наблюдение/ходок/joints_pos Тензор (30,) tf.float32
шаги/наблюдение/ходок/joints_vel Тензор (30,) tf.float32
шаги/наблюдение/ходок/sensors_accelerometer Тензор (3,) tf.float32
шаги/наблюдение/ходок/sensors_gyro Тензор (3,) tf.float32
шаги/наблюдение/ходок/sensors_touch Тензор (4,) tf.float32
шаги/наблюдение/ходок/sensors_velocimeter Тензор (3,) tf.float32
шаги/наблюдение/ходок/tendons_pos Тензор (8,) tf.float32
шаги/наблюдение/ходок/tendons_vel Тензор (8,) tf.float32
шаги/наблюдение/ходок/world_zaxis Тензор (3,) tf.float32
шаги/награда Тензор tf.float32
отметка времени Тензор tf.int64

rlu_locomotion/rodent_two_touch

  • Размер набора данных : 23.05 GiB

  • Сплиты :

Расколоть Примеры
'train' 2000
  • Структура функции :
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,
})
  • Документация по функциям :
Особенность Учебный класс Форма Dтип Описание
ОсобенностиDict
id_эпизода Тензор tf.int64
шаги Набор данных
шаги/действие Тензор (38,) tf.float32
шаги/скидка Тензор tf.float32
шаги / is_first Тензор tf.bool
шаги/is_last Тензор tf.bool
шаги/is_terminal Тензор tf.bool
шаги/наблюдение ОсобенностиDict
шаги/наблюдение/ходок ОсобенностиDict
шаги/наблюдение/ходок/appendages_pos Тензор (15,) tf.float32
шаги/наблюдение/ходок/эгоцентрическая_камера Изображение (64, 64, 3) tf.uint8
шаги/наблюдение/ходок/joints_pos Тензор (30,) tf.float32
шаги/наблюдение/ходок/joints_vel Тензор (30,) tf.float32
шаги/наблюдение/ходок/sensors_accelerometer Тензор (3,) tf.float32
шаги/наблюдение/ходок/sensors_gyro Тензор (3,) tf.float32
шаги/наблюдение/ходок/sensors_touch Тензор (4,) tf.float32
шаги/наблюдение/ходок/sensors_velocimeter Тензор (3,) tf.float32
шаги/наблюдение/ходок/tendons_pos Тензор (8,) tf.float32
шаги/наблюдение/ходок/tendons_vel Тензор (8,) tf.float32
шаги/наблюдение/ходок/world_zaxis Тензор (3,) tf.float32
шаги/награда Тензор tf.float32
отметка времени Тензор tf.int64