- 説明:
RL Unplugged は、オフライン強化学習のベンチマーク スイートです。 RL Unplugged は、次の考慮事項に基づいて設計されています。使いやすさを促進するために、一般的なパイプラインが確立されると、実践者がスイート内のすべてのデータを簡単に操作できるようにする統合 API をデータセットに提供します。
データセットはRLDS 形式に従って、ステップとエピソードを表します。
DeepMind Control Suite Tassa et al., 2018は、MuJoCo Todorov et al., 2012で実装された一連の制御タスクです。幅広い困難をカバーするスイートで提供されるタスクのサブセットを検討します。
このドメインのデータセットのほとんどは、D4PG を使用して生成されます。マニピュレーター インサート ボールとマニピュレーター インサート ペグの環境では、D4PG ではこれらのタスクを解決できないため、V-MPO Song et al., 2020を使用してデータを生成します。 9 つのコントロール スイート タスクのデータセットをリリースします。データセットの生成方法の詳細については、論文を参照してください。
DeepMind Control Suite は、従来の連続アクション RL ベンチマークです。特に、他の最先端のオフライン RL メソッドとの比較に関心がある場合は、DeepMind Control Suite でアプローチをテストすることをお勧めします。
ホームページ: https://github.com/deepmind/deepmind-research/tree/master/rl_unplugged
ソース コード:
tfds.rl_unplugged.rlu_control_suite.RluControlSuite
バージョン:
-
1.0.0
(デフォルト): 初期リリース。
-
ダウンロードサイズ: サイズ
Unknown size
監視されたキー(
as_supervised
docを参照):None
図( tfds.show_examples ): サポートされていません。
引用:
@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': int64,
'steps': Dataset({
'action': Tensor(shape=(1,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'position': Tensor(shape=(3,), dtype=float32),
'velocity': Tensor(shape=(2,), dtype=float32),
}),
'reward': float32,
}),
'timestamp': int64,
})
- 機能のドキュメント:
特徴 | クラス | 形 | Dtype | 説明 |
---|---|---|---|---|
特徴辞書 | ||||
episode_id | テンソル | int64 | ||
ステップ | データセット | |||
ステップ/アクション | テンソル | (1) | float32 | |
ステップ/割引 | テンソル | float32 | ||
ステップ/is_first | テンソル | ブール | ||
ステップ/is_last | テンソル | ブール | ||
ステップ/is_terminal | テンソル | ブール | ||
ステップ/観察 | 特徴辞書 | |||
歩数/観察/位置 | テンソル | (3) | float32 | |
ステップ/観察/速度 | テンソル | (2) | float32 | |
ステップ/報酬 | テンソル | float32 | ||
タイムスタンプ | テンソル | int64 |
- 例( tfds.as_dataframe ):
rlu_control_suite/cheetah_run
データセットのサイズ:
36.58 MiB
自動キャッシュ(ドキュメント): はい
スプリット:
スプリット | 例 |
---|---|
'train' | 300 |
- 機能構造:
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(6,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'position': Tensor(shape=(8,), dtype=float32),
'velocity': Tensor(shape=(9,), dtype=float32),
}),
'reward': float32,
}),
'timestamp': int64,
})
- 機能のドキュメント:
特徴 | クラス | 形 | Dtype | 説明 |
---|---|---|---|---|
特徴辞書 | ||||
episode_id | テンソル | int64 | ||
ステップ | データセット | |||
ステップ/アクション | テンソル | (6,) | float32 | |
ステップ/割引 | テンソル | float32 | ||
ステップ/is_first | テンソル | ブール | ||
ステップ/is_last | テンソル | ブール | ||
ステップ/is_terminal | テンソル | ブール | ||
ステップ/観察 | 特徴辞書 | |||
歩数/観察/位置 | テンソル | (8) | float32 | |
ステップ/観察/速度 | テンソル | (9) | float32 | |
ステップ/報酬 | テンソル | float32 | ||
タイムスタンプ | テンソル | int64 |
- 例( tfds.as_dataframe ):
rlu_control_suite/finger_turn_hard
データセットサイズ:
47.61 MiB
自動キャッシュ(ドキュメント): はい
スプリット:
スプリット | 例 |
---|---|
'train' | 500 |
- 機能構造:
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(2,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'dist_to_target': Tensor(shape=(1,), dtype=float32),
'position': Tensor(shape=(4,), dtype=float32),
'target_position': Tensor(shape=(2,), dtype=float32),
'velocity': Tensor(shape=(3,), dtype=float32),
}),
'reward': float32,
}),
'timestamp': int64,
})
- 機能のドキュメント:
特徴 | クラス | 形 | Dtype | 説明 |
---|---|---|---|---|
特徴辞書 | ||||
episode_id | テンソル | int64 | ||
ステップ | データセット | |||
ステップ/アクション | テンソル | (2) | float32 | |
ステップ/割引 | テンソル | float32 | ||
ステップ/is_first | テンソル | ブール | ||
ステップ/is_last | テンソル | ブール | ||
ステップ/is_terminal | テンソル | ブール | ||
ステップ/観察 | 特徴辞書 | |||
ステップ/観察/dist_to_target | テンソル | (1) | float32 | |
歩数/観察/位置 | テンソル | (4) | float32 | |
steps/observation/target_position | テンソル | (2) | float32 | |
ステップ/観察/速度 | テンソル | (3) | float32 | |
ステップ/報酬 | テンソル | float32 | ||
タイムスタンプ | テンソル | int64 |
- 例( tfds.as_dataframe ):
rlu_control_suite/fish_swim
データセットサイズ:
32.81 MiB
自動キャッシュ(ドキュメント): はい
スプリット:
スプリット | 例 |
---|---|
'train' | 200 |
- 機能構造:
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(5,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'joint_angles': Tensor(shape=(7,), dtype=float32),
'target': Tensor(shape=(3,), dtype=float32),
'upright': Tensor(shape=(1,), dtype=float32),
'velocity': Tensor(shape=(13,), dtype=float32),
}),
'reward': float32,
}),
'timestamp': int64,
})
- 機能のドキュメント:
特徴 | クラス | 形 | Dtype | 説明 |
---|---|---|---|---|
特徴辞書 | ||||
episode_id | テンソル | int64 | ||
ステップ | データセット | |||
ステップ/アクション | テンソル | (5,) | float32 | |
ステップ/割引 | テンソル | float32 | ||
ステップ/is_first | テンソル | ブール | ||
ステップ/is_last | テンソル | ブール | ||
ステップ/is_terminal | テンソル | ブール | ||
ステップ/観察 | 特徴辞書 | |||
ステップ/観察/ジョイント_角度 | テンソル | (7、) | float32 | |
ステップ/観察/ターゲット | テンソル | (3) | float32 | |
ステップ/観察/直立 | テンソル | (1) | float32 | |
ステップ/観察/速度 | テンソル | (13) | float32 | |
ステップ/報酬 | テンソル | float32 | ||
タイムスタンプ | テンソル | int64 |
- 例( tfds.as_dataframe ):
rlu_control_suite/humanoid_run
データセットサイズ:
1.21 GiB
自動キャッシュ(ドキュメント): いいえ
スプリット:
スプリット | 例 |
---|---|
'train' | 3,000 |
- 機能構造:
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(21,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'com_velocity': Tensor(shape=(3,), dtype=float32),
'extremities': Tensor(shape=(12,), dtype=float32),
'head_height': Tensor(shape=(1,), dtype=float32),
'joint_angles': Tensor(shape=(21,), dtype=float32),
'torso_vertical': Tensor(shape=(3,), dtype=float32),
'velocity': Tensor(shape=(27,), dtype=float32),
}),
'reward': float32,
}),
'timestamp': int64,
})
- 機能のドキュメント:
特徴 | クラス | 形 | Dtype | 説明 |
---|---|---|---|---|
特徴辞書 | ||||
episode_id | テンソル | int64 | ||
ステップ | データセット | |||
ステップ/アクション | テンソル | (21) | float32 | |
ステップ/割引 | テンソル | float32 | ||
ステップ/is_first | テンソル | ブール | ||
ステップ/is_last | テンソル | ブール | ||
ステップ/is_terminal | テンソル | ブール | ||
ステップ/観察 | 特徴辞書 | |||
ステップ/観測/com_velocity | テンソル | (3) | float32 | |
ステップ/観察/四肢 | テンソル | (12) | float32 | |
ステップ/観察/head_height | テンソル | (1) | float32 | |
ステップ/観察/ジョイント_角度 | テンソル | (21) | float32 | |
steps/observation/torso_vertical | テンソル | (3) | float32 | |
ステップ/観察/速度 | テンソル | (27) | float32 | |
ステップ/報酬 | テンソル | float32 | ||
タイムスタンプ | テンソル | int64 |
- 例( tfds.as_dataframe ):
rlu_control_suite/manipulator_insert_ball
データセットサイズ:
385.41 MiB
自動キャッシュ(ドキュメント): いいえ
スプリット:
スプリット | 例 |
---|---|
'train' | 1,500 |
- 機能構造:
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(5,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'arm_pos': Tensor(shape=(16,), dtype=float32),
'arm_vel': Tensor(shape=(8,), dtype=float32),
'hand_pos': Tensor(shape=(4,), dtype=float32),
'object_pos': Tensor(shape=(4,), dtype=float32),
'object_vel': Tensor(shape=(3,), dtype=float32),
'target_pos': Tensor(shape=(4,), dtype=float32),
'touch': Tensor(shape=(5,), dtype=float32),
}),
'reward': float32,
}),
'timestamp': int64,
})
- 機能のドキュメント:
特徴 | クラス | 形 | Dtype | 説明 |
---|---|---|---|---|
特徴辞書 | ||||
episode_id | テンソル | int64 | ||
ステップ | データセット | |||
ステップ/アクション | テンソル | (5,) | float32 | |
ステップ/割引 | テンソル | float32 | ||
ステップ/is_first | テンソル | ブール | ||
ステップ/is_last | テンソル | ブール | ||
ステップ/is_terminal | テンソル | ブール | ||
ステップ/観察 | 特徴辞書 | |||
ステップ/観察/arm_pos | テンソル | (16) | float32 | |
ステップ/観察/arm_vel | テンソル | (8) | float32 | |
steps/observation/hand_pos | テンソル | (4) | float32 | |
ステップ/観察/object_pos | テンソル | (4) | float32 | |
ステップ/観察/object_vel | テンソル | (3) | float32 | |
ステップ/観察/target_pos | テンソル | (4) | float32 | |
歩み/観察/タッチ | テンソル | (5,) | float32 | |
ステップ/報酬 | テンソル | float32 | ||
タイムスタンプ | テンソル | int64 |
- 例( tfds.as_dataframe ):
rlu_control_suite/manipulator_insert_peg
データセットのサイズ:
385.73 MiB
自動キャッシュ(ドキュメント): いいえ
スプリット:
スプリット | 例 |
---|---|
'train' | 1,500 |
- 機能構造:
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(5,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'arm_pos': Tensor(shape=(16,), dtype=float32),
'arm_vel': Tensor(shape=(8,), dtype=float32),
'hand_pos': Tensor(shape=(4,), dtype=float32),
'object_pos': Tensor(shape=(4,), dtype=float32),
'object_vel': Tensor(shape=(3,), dtype=float32),
'target_pos': Tensor(shape=(4,), dtype=float32),
'touch': Tensor(shape=(5,), dtype=float32),
}),
'reward': float32,
}),
'timestamp': int64,
})
- 機能のドキュメント:
特徴 | クラス | 形 | Dtype | 説明 |
---|---|---|---|---|
特徴辞書 | ||||
episode_id | テンソル | int64 | ||
ステップ | データセット | |||
ステップ/アクション | テンソル | (5,) | float32 | |
ステップ/割引 | テンソル | float32 | ||
ステップ/is_first | テンソル | ブール | ||
ステップ/is_last | テンソル | ブール | ||
ステップ/is_terminal | テンソル | ブール | ||
ステップ/観察 | 特徴辞書 | |||
ステップ/観察/arm_pos | テンソル | (16) | float32 | |
ステップ/観察/arm_vel | テンソル | (8) | float32 | |
steps/observation/hand_pos | テンソル | (4) | float32 | |
ステップ/観察/object_pos | テンソル | (4) | float32 | |
ステップ/観察/object_vel | テンソル | (3) | float32 | |
ステップ/観察/target_pos | テンソル | (4) | float32 | |
歩み/観察/タッチ | テンソル | (5,) | float32 | |
ステップ/報酬 | テンソル | float32 | ||
タイムスタンプ | テンソル | int64 |
- 例( tfds.as_dataframe ):
rlu_control_suite/walker_stand
データセットのサイズ:
31.78 MiB
自動キャッシュ(ドキュメント): はい
スプリット:
スプリット | 例 |
---|---|
'train' | 200 |
- 機能構造:
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(6,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'height': Tensor(shape=(1,), dtype=float32),
'orientations': Tensor(shape=(14,), dtype=float32),
'velocity': Tensor(shape=(9,), dtype=float32),
}),
'reward': float32,
}),
'timestamp': int64,
})
- 機能のドキュメント:
特徴 | クラス | 形 | Dtype | 説明 |
---|---|---|---|---|
特徴辞書 | ||||
episode_id | テンソル | int64 | ||
ステップ | データセット | |||
ステップ/アクション | テンソル | (6,) | float32 | |
ステップ/割引 | テンソル | float32 | ||
ステップ/is_first | テンソル | ブール | ||
ステップ/is_last | テンソル | ブール | ||
ステップ/is_terminal | テンソル | ブール | ||
ステップ/観察 | 特徴辞書 | |||
歩数/観察/高さ | テンソル | (1) | float32 | |
手順/観察/向き | テンソル | (14) | float32 | |
ステップ/観察/速度 | テンソル | (9) | float32 | |
ステップ/報酬 | テンソル | float32 | ||
タイムスタンプ | テンソル | int64 |
- 例( tfds.as_dataframe ):
rlu_control_suite/walker_walk
データセットのサイズ:
31.78 MiB
自動キャッシュ(ドキュメント): はい
スプリット:
スプリット | 例 |
---|---|
'train' | 200 |
- 機能構造:
FeaturesDict({
'episode_id': int64,
'steps': Dataset({
'action': Tensor(shape=(6,), dtype=float32),
'discount': float32,
'is_first': bool,
'is_last': bool,
'is_terminal': bool,
'observation': FeaturesDict({
'height': Tensor(shape=(1,), dtype=float32),
'orientations': Tensor(shape=(14,), dtype=float32),
'velocity': Tensor(shape=(9,), dtype=float32),
}),
'reward': float32,
}),
'timestamp': int64,
})
- 機能のドキュメント:
特徴 | クラス | 形 | Dtype | 説明 |
---|---|---|---|---|
特徴辞書 | ||||
episode_id | テンソル | int64 | ||
ステップ | データセット | |||
ステップ/アクション | テンソル | (6,) | float32 | |
ステップ/割引 | テンソル | float32 | ||
ステップ/is_first | テンソル | ブール | ||
ステップ/is_last | テンソル | ブール | ||
ステップ/is_terminal | テンソル | ブール | ||
ステップ/観察 | 特徴辞書 | |||
歩数/観察/高さ | テンソル | (1) | float32 | |
手順/観察/向き | テンソル | (14) | float32 | |
ステップ/観察/速度 | テンソル | (9) | float32 | |
ステップ/報酬 | テンソル | float32 | ||
タイムスタンプ | テンソル | int64 |
- 例( tfds.as_dataframe ):