SamplerWithoutReplacement¶
- class 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。