rlu_locomotion

  • Descrição :

RL Unplugged é um conjunto de benchmarks para aprendizado de reforço offline. O RL Unplugged foi projetado com base nas seguintes considerações: para facilitar o uso, fornecemos os conjuntos de dados com uma API unificada que torna mais fácil para o profissional trabalhar com todos os dados no conjunto, uma vez que um pipeline geral tenha sido estabelecido.

Os conjuntos de dados seguem o formato RLDS para representar etapas e episódios.

Essas tarefas são compostas pelas tarefas de locomoção do corredor envolvendo o CMU Humanoid, para as quais esforços anteriores usaram dados de captura de movimento Merel et al., 2019a , Merel et al., 2019b ou treinamento do zero Song et al., 2020 . Além disso, o repositório DM Locomotion contém um conjunto de tarefas adaptadas para serem adaptadas a um roedor virtual Merel et al., 2020 . Enfatizamos que as tarefas de locomoção do DM apresentam a combinação de um controle contínuo desafiador de alto DoF junto com a percepção de ricas observações egocêntricas. Para obter detalhes sobre como o conjunto de dados foi gerado, consulte o artigo.

Recomendamos que você experimente métodos RL offline no conjunto de dados DeepMind Locomotion, se estiver interessado em um conjunto de dados RL offline muito desafiador com espaço de ação contínuo.

@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 (configuração padrão)

  • Tamanho do conjunto de dados : 1.88 GiB

  • Divisões :

Dividir Exemplos
'train' 4.000
  • Estrutura de recursos :
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,
})
  • Documentação do recurso:
Característica Classe Forma Tipo D Descrição
RecursosDict
episódio_id tensor int64
degraus conjunto de dados
passos/ação tensor (56,) float32
passos/desconto tensor float32
passos/é_primeiro tensor bool
passos/é_último tensor bool
passos/is_terminal tensor bool
passos/observação RecursosDict
passos/observação/caminhante RecursosDict
passos/observação/walker/body_height tensor (1,) float32
passos/observação/walker/egocentric_camera Imagem (64, 64, 3) uint8
passos/observação/walker/end_effectors_pos tensor (12,) float32
passos/observação/andador/articulações_pos tensor (56,) float32
passos/observação/andador/articulações_vel tensor (56,) float32
passos/observação/andador/sensores_acelerômetro tensor (3,) float32
passos/observação/walker/sensors_gyro tensor (3,) float32
passos/observação/caminhante/sensores_velocímetro tensor (3,) float32
passos/observação/walker/world_zaxis tensor (3,) float32
passos/recompensa tensor float32
carimbo de data/hora tensor int64

rlu_locomotion/humanoid_gaps

  • Tamanho do conjunto de dados : 4.57 GiB

  • Divisões :

Dividir Exemplos
'train' 8.000
  • Estrutura de recursos :
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,
})
  • Documentação do recurso:
Característica Classe Forma Tipo D Descrição
RecursosDict
episódio_id tensor int64
degraus conjunto de dados
passos/ação tensor (56,) float32
passos/desconto tensor float32
passos/é_primeiro tensor bool
passos/é_último tensor bool
passos/is_terminal tensor bool
passos/observação RecursosDict
passos/observação/caminhante RecursosDict
passos/observação/walker/body_height tensor (1,) float32
passos/observação/walker/egocentric_camera Imagem (64, 64, 3) uint8
passos/observação/walker/end_effectors_pos tensor (12,) float32
passos/observação/andador/articulações_pos tensor (56,) float32
passos/observação/andador/articulações_vel tensor (56,) float32
passos/observação/andador/sensores_acelerômetro tensor (3,) float32
passos/observação/walker/sensors_gyro tensor (3,) float32
passos/observação/caminhante/sensores_velocímetro tensor (3,) float32
passos/observação/walker/world_zaxis tensor (3,) float32
passos/recompensa tensor float32
carimbo de data/hora tensor int64

rlu_locomotion/humanoid_walls

  • Tamanho do conjunto de dados : 2.36 GiB

  • Divisões :

Dividir Exemplos
'train' 4.000
  • Estrutura de recursos :
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,
})
  • Documentação do recurso:
Característica Classe Forma Tipo D Descrição
RecursosDict
episódio_id tensor int64
degraus conjunto de dados
passos/ação tensor (56,) float32
passos/desconto tensor float32
passos/é_primeiro tensor bool
passos/é_último tensor bool
passos/is_terminal tensor bool
passos/observação RecursosDict
passos/observação/caminhante RecursosDict
passos/observação/walker/body_height tensor (1,) float32
passos/observação/walker/egocentric_camera Imagem (64, 64, 3) uint8
passos/observação/walker/end_effectors_pos tensor (12,) float32
passos/observação/andador/articulações_pos tensor (56,) float32
passos/observação/andador/articulações_vel tensor (56,) float32
passos/observação/andador/sensores_acelerômetro tensor (3,) float32
passos/observação/walker/sensors_gyro tensor (3,) float32
passos/observação/caminhante/sensores_velocímetro tensor (3,) float32
passos/observação/walker/world_zaxis tensor (3,) float32
passos/recompensa tensor float32
carimbo de data/hora tensor int64

rlu_locomotion/rodent_bowl_escape

  • Tamanho do conjunto de dados : 16.46 GiB

  • Divisões :

Dividir Exemplos
'train' 2.000
  • Estrutura de recursos :
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,
})
  • Documentação do recurso:
Característica Classe Forma Tipo D Descrição
RecursosDict
episódio_id tensor int64
degraus conjunto de dados
passos/ação tensor (38,) float32
passos/desconto tensor float32
passos/é_primeiro tensor bool
passos/é_último tensor bool
passos/is_terminal tensor bool
passos/observação RecursosDict
passos/observação/caminhante RecursosDict
passos/observação/caminhante/apêndices_pos tensor (15,) float32
passos/observação/walker/egocentric_camera Imagem (64, 64, 3) uint8
passos/observação/andador/articulações_pos tensor (30,) float32
passos/observação/andador/articulações_vel tensor (30,) float32
passos/observação/andador/sensores_acelerômetro tensor (3,) float32
passos/observação/walker/sensors_gyro tensor (3,) float32
passos/observação/caminhante/sensores_toque tensor (4,) float32
passos/observação/caminhante/sensores_velocímetro tensor (3,) float32
passos/observação/andador/tendão_pos tensor (8,) float32
passos/observação/walker/tendões_vel tensor (8,) float32
passos/observação/walker/world_zaxis tensor (3,) float32
passos/recompensa tensor float32
carimbo de data/hora tensor int64

rlu_locomotion/rodent_gaps

  • Tamanho do conjunto de dados : 8.90 GiB

  • Divisões :

Dividir Exemplos
'train' 2.000
  • Estrutura de recursos :
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,
})
  • Documentação do recurso:
Característica Classe Forma Tipo D Descrição
RecursosDict
episódio_id tensor int64
degraus conjunto de dados
passos/ação tensor (38,) float32
passos/desconto tensor float32
passos/é_primeiro tensor bool
passos/é_último tensor bool
passos/is_terminal tensor bool
passos/observação RecursosDict
passos/observação/caminhante RecursosDict
passos/observação/caminhante/apêndices_pos tensor (15,) float32
passos/observação/walker/egocentric_camera Imagem (64, 64, 3) uint8
passos/observação/andador/articulações_pos tensor (30,) float32
passos/observação/andador/articulações_vel tensor (30,) float32
passos/observação/andador/sensores_acelerômetro tensor (3,) float32
passos/observação/walker/sensors_gyro tensor (3,) float32
passos/observação/caminhante/sensores_toque tensor (4,) float32
passos/observação/caminhante/sensores_velocímetro tensor (3,) float32
passos/observação/andador/tendão_pos tensor (8,) float32
passos/observação/walker/tendões_vel tensor (8,) float32
passos/observação/walker/world_zaxis tensor (3,) float32
passos/recompensa tensor float32
carimbo de data/hora tensor int64

rlu_locomotion/rodent_mazes

  • Tamanho do conjunto de dados : 20.71 GiB

  • Divisões :

Dividir Exemplos
'train' 2.000
  • Estrutura de recursos :
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,
})
  • Documentação do recurso:
Característica Classe Forma Tipo D Descrição
RecursosDict
episódio_id tensor int64
degraus conjunto de dados
passos/ação tensor (38,) float32
passos/desconto tensor float32
passos/é_primeiro tensor bool
passos/é_último tensor bool
passos/is_terminal tensor bool
passos/observação RecursosDict
passos/observação/caminhante RecursosDict
passos/observação/caminhante/apêndices_pos tensor (15,) float32
passos/observação/walker/egocentric_camera Imagem (64, 64, 3) uint8
passos/observação/andador/articulações_pos tensor (30,) float32
passos/observação/andador/articulações_vel tensor (30,) float32
passos/observação/andador/sensores_acelerômetro tensor (3,) float32
passos/observação/walker/sensors_gyro tensor (3,) float32
passos/observação/caminhante/sensores_toque tensor (4,) float32
passos/observação/caminhante/sensores_velocímetro tensor (3,) float32
passos/observação/andador/tendão_pos tensor (8,) float32
passos/observação/walker/tendões_vel tensor (8,) float32
passos/observação/walker/world_zaxis tensor (3,) float32
passos/recompensa tensor float32
carimbo de data/hora tensor int64

rlu_locomotion/rodent_two_touch

  • Tamanho do conjunto de dados : 23.05 GiB

  • Divisões :

Dividir Exemplos
'train' 2.000
  • Estrutura de recursos :
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,
})
  • Documentação do recurso:
Característica Classe Forma Tipo D Descrição
RecursosDict
episódio_id tensor int64
degraus conjunto de dados
passos/ação tensor (38,) float32
passos/desconto tensor float32
passos/é_primeiro tensor bool
passos/é_último tensor bool
passos/is_terminal tensor bool
passos/observação RecursosDict
passos/observação/caminhante RecursosDict
passos/observação/caminhante/apêndices_pos tensor (15,) float32
passos/observação/walker/egocentric_camera Imagem (64, 64, 3) uint8
passos/observação/andador/articulações_pos tensor (30,) float32
passos/observação/andador/articulações_vel tensor (30,) float32
passos/observação/andador/sensores_acelerômetro tensor (3,) float32
passos/observação/walker/sensors_gyro tensor (3,) float32
passos/observação/caminhante/sensores_toque tensor (4,) float32
passos/observação/caminhante/sensores_velocímetro tensor (3,) float32
passos/observação/andador/tendão_pos tensor (8,) float32
passos/observação/walker/tendões_vel tensor (8,) float32
passos/observação/walker/world_zaxis tensor (3,) float32
passos/recompensa tensor float32
carimbo de data/hora tensor int64