RandomCropTensorDict¶
- class torchrl.envs.transforms.RandomCropTensorDict(sub_seq_len: int, sample_dim: int = - 1, mask_key: Optional[NestedKey] = None)[source]¶
用于 ReplayBuffer 和模块的轨迹子采样器。
沿输入 tensordict 的最后一个维度收集定义长度的子序列。这可用于从 ReplayBuffer 采样得到的轨迹中获取裁剪后的轨迹。
此转换主要设计用于回放缓冲区 (replay buffers) 和模块。目前,它不能用作环境转换。如果需要此行为,请随时通过议题提出请求。
- 参数:
sub_seq_len (int) – 要采样的子轨迹长度
sample_dim (int, optional) – 裁剪应沿其发生的维度。应优先使用负维度,以使转换对于具有不同批次维度(batch dimensions)的 tensordict 具有鲁棒性。默认为 -1(TorchRL 中的默认时间维度)。
mask_key (NestedKey) – 如果提供,这表示采样时要查找的掩码键(mask key)。如果提供,将只返回有效元素。假设掩码是布尔张量,其中首先是 True 值,然后是 False 值,而不是混合在一起。
RandomCropTensorDict
不会检查是否遵守此规则,因此由不恰当掩码引起的任何错误可能不会被注意到。默认为 None(无掩码键)。