rlu_control_suite

  • Описание :

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

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

DeepMind Control Suite Tassa et al., 2018 — набор задач управления, реализованный в MuJoCo Todorov et al., 2012 . Мы рассматриваем подмножество заданий, представленных в наборе, которые охватывают широкий спектр трудностей.

Большинство наборов данных в этой области создаются с использованием D4PG. Для сред Манипулятор вставки шара и Манипулятор вставки штифта мы используем V-MPO Song et al., 2020 для генерации данных, поскольку D4PG не может решить эти задачи. Мы выпускаем наборы данных для 9 задач контрольного пакета. Подробнее о том, как был сгенерирован набор данных, см. в документе.

DeepMind Control Suite — это традиционный тест непрерывного действия RL. В частности, мы рекомендуем вам протестировать свой подход в DeepMind Control Suite, если вы заинтересованы в сравнении с другими современными методами автономного 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_control_suite/cartpole_swingup (конфигурация по умолчанию)

  • Размер набора данных : 2.12 MiB .

  • Автоматическое кэширование ( документация ): Да

  • Сплиты :

Расколоть Примеры
'train' 40
  • Структура функции :
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,
})
  • Документация по функциям :
Особенность Учебный класс Форма Dтип Описание
ОсобенностиDict
id_эпизода Тензор tf.int64
шаги Набор данных
шаги/действие Тензор (1,) tf.float32
шаги/скидка Тензор tf.float32
шаги / is_first Тензор tf.bool
шаги/is_last Тензор tf.bool
шаги/is_terminal Тензор tf.bool
шаги/наблюдение ОсобенностиDict
шаги/наблюдение/позиция Тензор (3,) tf.float32
шаги/наблюдение/скорость Тензор (2,) tf.float32
шаги/награда Тензор tf.float32
отметка времени Тензор tf.int64

rlu_control_suite/cheetah_run

  • Размер набора данных : 36.58 MiB .

  • Автоматическое кэширование ( документация ): Да

  • Сплиты :

Расколоть Примеры
'train' 300
  • Структура функции :
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,
})
  • Документация по функциям :
Особенность Учебный класс Форма Dтип Описание
ОсобенностиDict
id_эпизода Тензор tf.int64
шаги Набор данных
шаги/действие Тензор (6,) tf.float32
шаги/скидка Тензор tf.float32
шаги / is_first Тензор tf.bool
шаги/is_last Тензор tf.bool
шаги/is_terminal Тензор tf.bool
шаги/наблюдение ОсобенностиDict
шаги/наблюдение/позиция Тензор (8,) tf.float32
шаги/наблюдение/скорость Тензор (9,) tf.float32
шаги/награда Тензор tf.float32
отметка времени Тензор tf.int64

rlu_control_suite/finger_turn_hard

  • Размер набора данных : 47.61 MiB .

  • Автоматическое кэширование ( документация ): Да

  • Сплиты :

Расколоть Примеры
'train' 500
  • Структура функции :
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,
})
  • Документация по функциям :
Особенность Учебный класс Форма Dтип Описание
ОсобенностиDict
id_эпизода Тензор tf.int64
шаги Набор данных
шаги/действие Тензор (2,) tf.float32
шаги/скидка Тензор tf.float32
шаги / is_first Тензор tf.bool
шаги/is_last Тензор tf.bool
шаги/is_terminal Тензор tf.bool
шаги/наблюдение ОсобенностиDict
шаги/наблюдение/dist_to_target Тензор (1,) tf.float32
шаги/наблюдение/позиция Тензор (4,) tf.float32
шаги/наблюдение/target_position Тензор (2,) tf.float32
шаги/наблюдение/скорость Тензор (3,) tf.float32
шаги/награда Тензор tf.float32
отметка времени Тензор tf.int64

rlu_control_suite/fish_swim

  • Размер набора данных : 32.81 MiB .

  • Автоматическое кэширование ( документация ): Да

  • Сплиты :

Расколоть Примеры
'train' 200
  • Структура функции :
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,
})
  • Документация по функциям :
Особенность Учебный класс Форма Dтип Описание
ОсобенностиDict
id_эпизода Тензор tf.int64
шаги Набор данных
шаги/действие Тензор (5,) tf.float32
шаги/скидка Тензор tf.float32
шаги / is_first Тензор tf.bool
шаги/is_last Тензор tf.bool
шаги/is_terminal Тензор tf.bool
шаги/наблюдение ОсобенностиDict
шаги/наблюдение/joint_angles Тензор (7,) tf.float32
шаги/наблюдение/цель Тензор (3,) tf.float32
шаги / наблюдение / вертикально Тензор (1,) tf.float32
шаги/наблюдение/скорость Тензор (13,) tf.float32
шаги/награда Тензор tf.float32
отметка времени Тензор tf.int64

rlu_control_suite/humanoid_run

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

  • Автоматическое кэширование ( документация ): Нет

  • Сплиты :

Расколоть Примеры
'train' 3000
  • Структура функции :
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,
})
  • Документация по функциям :
Особенность Учебный класс Форма Dтип Описание
ОсобенностиDict
id_эпизода Тензор tf.int64
шаги Набор данных
шаги/действие Тензор (21,) tf.float32
шаги/скидка Тензор tf.float32
шаги / is_first Тензор tf.bool
шаги/is_last Тензор tf.bool
шаги/is_terminal Тензор tf.bool
шаги/наблюдение ОсобенностиDict
шаги/наблюдение/com_velocity Тензор (3,) tf.float32
шаги/наблюдение/конечности Тензор (12,) tf.float32
шаги/наблюдение/head_height Тензор (1,) tf.float32
шаги/наблюдение/joint_angles Тензор (21,) tf.float32
шаги/наблюдение/torso_vertical Тензор (3,) tf.float32
шаги/наблюдение/скорость Тензор (27,) tf.float32
шаги/награда Тензор tf.float32
отметка времени Тензор tf.int64

rlu_control_suite/manipulator_insert_ball

  • Размер набора данных : 385.41 MiB .

  • Автоматическое кэширование ( документация ): Нет

  • Сплиты :

Расколоть Примеры
'train' 1500
  • Структура функции :
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,
})
  • Документация по функциям :
Особенность Учебный класс Форма Dтип Описание
ОсобенностиDict
id_эпизода Тензор tf.int64
шаги Набор данных
шаги/действие Тензор (5,) tf.float32
шаги/скидка Тензор tf.float32
шаги / is_first Тензор tf.bool
шаги/is_last Тензор tf.bool
шаги/is_terminal Тензор tf.bool
шаги/наблюдение ОсобенностиDict
шаги/наблюдение/arm_pos Тензор (16,) tf.float32
шаги/наблюдение/arm_vel Тензор (8,) tf.float32
шаги/наблюдение/hand_pos Тензор (4,) tf.float32
шаги/наблюдение/object_pos Тензор (4,) tf.float32
шаги/наблюдение/object_vel Тензор (3,) tf.float32
шаги/наблюдение/target_pos Тензор (4,) tf.float32
шаги/наблюдение/прикосновение Тензор (5,) tf.float32
шаги/награда Тензор tf.float32
отметка времени Тензор tf.int64

rlu_control_suite/manipulator_insert_peg

  • Размер набора данных : 385.73 MiB .

  • Автоматическое кэширование ( документация ): Нет

  • Сплиты :

Расколоть Примеры
'train' 1500
  • Структура функции :
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,
})
  • Документация по функциям :
Особенность Учебный класс Форма Dтип Описание
ОсобенностиDict
id_эпизода Тензор tf.int64
шаги Набор данных
шаги/действие Тензор (5,) tf.float32
шаги/скидка Тензор tf.float32
шаги / is_first Тензор tf.bool
шаги/is_last Тензор tf.bool
шаги/is_terminal Тензор tf.bool
шаги/наблюдение ОсобенностиDict
шаги/наблюдение/arm_pos Тензор (16,) tf.float32
шаги/наблюдение/arm_vel Тензор (8,) tf.float32
шаги/наблюдение/hand_pos Тензор (4,) tf.float32
шаги/наблюдение/object_pos Тензор (4,) tf.float32
шаги/наблюдение/object_vel Тензор (3,) tf.float32
шаги/наблюдение/target_pos Тензор (4,) tf.float32
шаги/наблюдение/прикосновение Тензор (5,) tf.float32
шаги/награда Тензор tf.float32
отметка времени Тензор tf.int64

rlu_control_suite/walker_stand

  • Размер набора данных : 31.78 MiB .

  • Автоматическое кэширование ( документация ): Да

  • Сплиты :

Расколоть Примеры
'train' 200
  • Структура функции :
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,
})
  • Документация по функциям :
Особенность Учебный класс Форма Dтип Описание
ОсобенностиDict
id_эпизода Тензор tf.int64
шаги Набор данных
шаги/действие Тензор (6,) tf.float32
шаги/скидка Тензор tf.float32
шаги / is_first Тензор tf.bool
шаги/is_last Тензор tf.bool
шаги/is_terminal Тензор tf.bool
шаги/наблюдение ОсобенностиDict
шаги/наблюдение/высота Тензор (1,) tf.float32
шаги/наблюдение/ориентация Тензор (14,) tf.float32
шаги/наблюдение/скорость Тензор (9,) tf.float32
шаги/награда Тензор tf.float32
отметка времени Тензор tf.int64

rlu_control_suite/walker_walk

  • Размер набора данных : 31.78 MiB .

  • Автоматическое кэширование ( документация ): Да

  • Сплиты :

Расколоть Примеры
'train' 200
  • Структура функции :
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,
})
  • Документация по функциям :
Особенность Учебный класс Форма Dтип Описание
ОсобенностиDict
id_эпизода Тензор tf.int64
шаги Набор данных
шаги/действие Тензор (6,) tf.float32
шаги/скидка Тензор tf.float32
шаги / is_first Тензор tf.bool
шаги/is_last Тензор tf.bool
шаги/is_terminal Тензор tf.bool
шаги/наблюдение ОсобенностиDict
шаги/наблюдение/высота Тензор (1,) tf.float32
шаги/наблюдение/ориентация Тензор (14,) tf.float32
шаги/наблюдение/скорость Тензор (9,) tf.float32
шаги/награда Тензор tf.float32
отметка времени Тензор tf.int64