rlu_control_suite

  • विवरण :

आरएल अनप्लग्ड ऑफ़लाइन रीइन्फोर्समेंट लर्निंग के लिए बेंचमार्क का सूट है। आरएल अनप्लग्ड को निम्नलिखित विचारों के आसपास डिज़ाइन किया गया है: उपयोग में आसानी के लिए, हम एक एकीकृत एपीआई के साथ डेटासेट प्रदान करते हैं जो सामान्य पाइपलाइन स्थापित होने के बाद व्यवसायी के लिए सूट में सभी डेटा के साथ काम करना आसान बनाता है।

डेटासेट चरण और एपिसोड का प्रतिनिधित्व करने के लिए आरएलडीएस प्रारूप का पालन करते हैं।

डीपमाइंड कंट्रोल सूट तस्सा एट अल।, 2018 मुजोको टोडोरोव एट अल।, 2012 में लागू नियंत्रण कार्यों का एक सेट है। हम सूट में प्रदान किए गए कार्यों के एक सबसेट पर विचार करते हैं जो कई प्रकार की कठिनाइयों को कवर करता है।

इस डोमेन में अधिकांश डेटासेट D4PG का उपयोग करके उत्पन्न किए जाते हैं। पर्यावरण के लिए मैनिपुलेटर इन्सर्ट बॉल और मैनिपुलेटर इन्सर्ट पेग हम डेटा उत्पन्न करने के लिए वी-एमपीओ सॉन्ग एट अल।, 2020 का उपयोग करते हैं क्योंकि डी4पीजी इन कार्यों को हल करने में असमर्थ है। हम 9 नियंत्रण सुइट कार्यों के लिए डेटासेट जारी करते हैं। डेटासेट कैसे उत्पन्न किया गया था, इसके विवरण के लिए, कृपया पेपर देखें।

डीपमाइंड कंट्रोल सूट एक पारंपरिक सतत क्रिया आरएल बेंचमार्क है। विशेष रूप से, हम आपको डीपमाइंड कंट्रोल सूट में अपने दृष्टिकोण का परीक्षण करने की सलाह देते हैं यदि आप अन्य अत्याधुनिक ऑफ़लाइन आरएल विधियों के खिलाफ तुलना करने में रुचि रखते हैं।

@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 (डिफ़ॉल्ट कॉन्फ़िगरेशन)

विभाजित करना उदाहरण
'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,
})
  • फ़ीचर दस्तावेज़ीकरण :
विशेषता कक्षा आकार डीटाइप विवरण
विशेषताएं डिक्ट
प्रकरण_आईडी टेन्सर int64
कदम डेटासेट
कदम / कार्रवाई टेन्सर (1,) फ्लोट32
चरण/छूट टेन्सर फ्लोट32
चरण/is_first टेन्सर बूल
चरण/is_last टेन्सर बूल
कदम/is_terminal टेन्सर बूल
चरण/अवलोकन विशेषताएं डिक्ट
चरण/अवलोकन/स्थिति टेन्सर (3,) फ्लोट32
चरण/अवलोकन/वेग टेन्सर (2,) फ्लोट32
कदम / इनाम टेन्सर फ्लोट32
TIMESTAMP टेन्सर int64

rlu_control_suite/cheetah_run

विभाजित करना उदाहरण
'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,
})
  • फ़ीचर दस्तावेज़ीकरण :
विशेषता कक्षा आकार डीटाइप विवरण
विशेषताएं डिक्ट
प्रकरण_आईडी टेन्सर int64
कदम डेटासेट
कदम / कार्रवाई टेन्सर (6,) फ्लोट32
चरण/छूट टेन्सर फ्लोट32
चरण/is_first टेन्सर बूल
चरण/is_last टेन्सर बूल
कदम/is_terminal टेन्सर बूल
चरण/अवलोकन विशेषताएं डिक्ट
चरण/अवलोकन/स्थिति टेन्सर (8,) फ्लोट32
चरण/अवलोकन/वेग टेन्सर (9,) फ्लोट32
कदम / इनाम टेन्सर फ्लोट32
TIMESTAMP टेन्सर int64

rlu_control_suite/finger_turn_hard

विभाजित करना उदाहरण
'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,
})
  • फ़ीचर दस्तावेज़ीकरण :
विशेषता कक्षा आकार डीटाइप विवरण
विशेषताएं डिक्ट
प्रकरण_आईडी टेन्सर int64
कदम डेटासेट
कदम / कार्रवाई टेन्सर (2,) फ्लोट32
चरण/छूट टेन्सर फ्लोट32
चरण/is_first टेन्सर बूल
चरण/is_last टेन्सर बूल
कदम/is_terminal टेन्सर बूल
चरण/अवलोकन विशेषताएं डिक्ट
चरण/अवलोकन/dist_to_target टेन्सर (1,) फ्लोट32
चरण/अवलोकन/स्थिति टेन्सर (4,) फ्लोट32
चरण/अवलोकन/target_position टेन्सर (2,) फ्लोट32
चरण/अवलोकन/वेग टेन्सर (3,) फ्लोट32
कदम / इनाम टेन्सर फ्लोट32
TIMESTAMP टेन्सर int64

rlu_control_suite/fish_swim

विभाजित करना उदाहरण
'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,
})
  • फ़ीचर दस्तावेज़ीकरण :
विशेषता कक्षा आकार डीटाइप विवरण
विशेषताएं डिक्ट
प्रकरण_आईडी टेन्सर int64
कदम डेटासेट
कदम / कार्रवाई टेन्सर (5,) फ्लोट32
चरण/छूट टेन्सर फ्लोट32
चरण/is_first टेन्सर बूल
चरण/is_last टेन्सर बूल
कदम/is_terminal टेन्सर बूल
चरण/अवलोकन विशेषताएं डिक्ट
कदम/अवलोकन/join_angles टेन्सर (7,) फ्लोट32
चरण/अवलोकन/लक्ष्य टेन्सर (3,) फ्लोट32
कदम/अवलोकन/ईमानदार टेन्सर (1,) फ्लोट32
चरण/अवलोकन/वेग टेन्सर (13,) फ्लोट32
कदम / इनाम टेन्सर फ्लोट32
TIMESTAMP टेन्सर int64

rlu_control_suite/humanoid_run

विभाजित करना उदाहरण
'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,
})
  • फ़ीचर दस्तावेज़ीकरण :
विशेषता कक्षा आकार डीटाइप विवरण
विशेषताएं डिक्ट
प्रकरण_आईडी टेन्सर int64
कदम डेटासेट
कदम / कार्रवाई टेन्सर (21,) फ्लोट32
चरण/छूट टेन्सर फ्लोट32
चरण/is_first टेन्सर बूल
चरण/is_last टेन्सर बूल
कदम/is_terminal टेन्सर बूल
चरण/अवलोकन विशेषताएं डिक्ट
चरण/अवलोकन/com_velocity टेन्सर (3,) फ्लोट32
चरण/अवलोकन/चरम टेन्सर (12,) फ्लोट32
कदम/अवलोकन/head_height टेन्सर (1,) फ्लोट32
कदम/अवलोकन/join_angles टेन्सर (21,) फ्लोट32
चरण/अवलोकन/torso_vertical टेन्सर (3,) फ्लोट32
चरण/अवलोकन/वेग टेन्सर (27,) फ्लोट32
कदम / इनाम टेन्सर फ्लोट32
TIMESTAMP टेन्सर int64

rlu_control_suite/manipulator_insert_ball

विभाजित करना उदाहरण
'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,
})
  • फ़ीचर दस्तावेज़ीकरण :
विशेषता कक्षा आकार डीटाइप विवरण
विशेषताएं डिक्ट
प्रकरण_आईडी टेन्सर int64
कदम डेटासेट
कदम / कार्रवाई टेन्सर (5,) फ्लोट32
चरण/छूट टेन्सर फ्लोट32
चरण/is_first टेन्सर बूल
चरण/is_last टेन्सर बूल
कदम/is_terminal टेन्सर बूल
चरण/अवलोकन विशेषताएं डिक्ट
चरण/अवलोकन/arm_pos टेन्सर (16,) फ्लोट32
चरण/अवलोकन/arm_vel टेन्सर (8,) फ्लोट32
चरण/अवलोकन/hand_pos टेन्सर (4,) फ्लोट32
चरण/अवलोकन/object_pos टेन्सर (4,) फ्लोट32
चरण/अवलोकन/object_vel टेन्सर (3,) फ्लोट32
चरण/अवलोकन/target_pos टेन्सर (4,) फ्लोट32
चरण/अवलोकन/स्पर्श टेन्सर (5,) फ्लोट32
कदम / इनाम टेन्सर फ्लोट32
TIMESTAMP टेन्सर int64

rlu_control_suite/manipulator_insert_peg

विभाजित करना उदाहरण
'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,
})
  • फ़ीचर दस्तावेज़ीकरण :
विशेषता कक्षा आकार डीटाइप विवरण
विशेषताएं डिक्ट
प्रकरण_आईडी टेन्सर int64
कदम डेटासेट
कदम / कार्रवाई टेन्सर (5,) फ्लोट32
चरण/छूट टेन्सर फ्लोट32
चरण/is_first टेन्सर बूल
चरण/is_last टेन्सर बूल
कदम/is_terminal टेन्सर बूल
चरण/अवलोकन विशेषताएं डिक्ट
चरण/अवलोकन/arm_pos टेन्सर (16,) फ्लोट32
चरण/अवलोकन/arm_vel टेन्सर (8,) फ्लोट32
चरण/अवलोकन/hand_pos टेन्सर (4,) फ्लोट32
चरण/अवलोकन/object_pos टेन्सर (4,) फ्लोट32
चरण/अवलोकन/object_vel टेन्सर (3,) फ्लोट32
चरण/अवलोकन/target_pos टेन्सर (4,) फ्लोट32
चरण/अवलोकन/स्पर्श टेन्सर (5,) फ्लोट32
कदम / इनाम टेन्सर फ्लोट32
TIMESTAMP टेन्सर int64

rlu_control_suite/walker_stand

विभाजित करना उदाहरण
'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,
})
  • फ़ीचर दस्तावेज़ीकरण :
विशेषता कक्षा आकार डीटाइप विवरण
विशेषताएं डिक्ट
प्रकरण_आईडी टेन्सर int64
कदम डेटासेट
कदम / कार्रवाई टेन्सर (6,) फ्लोट32
चरण/छूट टेन्सर फ्लोट32
चरण/is_first टेन्सर बूल
चरण/is_last टेन्सर बूल
कदम/is_terminal टेन्सर बूल
चरण/अवलोकन विशेषताएं डिक्ट
कदम/अवलोकन/ऊंचाई टेन्सर (1,) फ्लोट32
चरण/अवलोकन/अभिविन्यास टेन्सर (14,) फ्लोट32
चरण/अवलोकन/वेग टेन्सर (9,) फ्लोट32
कदम / इनाम टेन्सर फ्लोट32
TIMESTAMP टेन्सर int64

rlu_control_suite/walker_walk

विभाजित करना उदाहरण
'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,
})
  • फ़ीचर दस्तावेज़ीकरण :
विशेषता कक्षा आकार डीटाइप विवरण
विशेषताएं डिक्ट
प्रकरण_आईडी टेन्सर int64
कदम डेटासेट
कदम / कार्रवाई टेन्सर (6,) फ्लोट32
चरण/छूट टेन्सर फ्लोट32
चरण/is_first टेन्सर बूल
चरण/is_last टेन्सर बूल
कदम/is_terminal टेन्सर बूल
चरण/अवलोकन विशेषताएं डिक्ट
कदम/अवलोकन/ऊंचाई टेन्सर (1,) फ्लोट32
चरण/अवलोकन/अभिविन्यास टेन्सर (14,) फ्लोट32
चरण/अवलोकन/वेग टेन्सर (9,) फ्लोट32
कदम / इनाम टेन्सर फ्लोट32
TIMESTAMP टेन्सर int64