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
。