SamplerWithoutReplacement¶
- 類 torchrl.data.replay_buffers.SamplerWithoutReplacement(drop_last: bool = False, shuffle: bool = True)[原始碼]¶
一個數據消耗型取樣器,確保同一樣本不會連續出現在不同批次中。
- 引數:
drop_last (bool, optional) – 如果為
True,則最後一個不完整的樣本(如果存在)將被丟棄。如果為False,則保留此最後一個樣本,並(與 torch dataloaders 不同)用新的索引排列中的其他樣本補全。預設為False。shuffle (bool, optional) – 如果為
False,則不會隨機打亂專案。這使得能夠按照資料收集的順序遍歷回放緩衝區。預設為True。
注意: 如果在兩次呼叫之間儲存的大小發生變化,樣本將被重新打亂(因為通常無法跟蹤哪些樣本之前已被取樣,哪些沒有)。
類似地,期望在兩次呼叫之間儲存的內容保持不變,但這一點並未強制執行。
當取樣器到達可用索引列表的末尾時,將生成一個新的樣本順序,並用這次新的抽取補全生成的索引,這可能導致索引重複,除非將
drop_last引數設定為True。