FlattenObservation¶
- class torchrl.envs.transforms.FlattenObservation(first_dim: int, last_dim: int, in_keys: Optional[Sequence[NestedKey]] = None, out_keys: Optional[Sequence[NestedKey]] = None, allow_positive_dim: bool = False)[source]¶
展平张量的相邻维度。
- 参数:
first_dim (int) – 要展平的维度的第一个维度。
last_dim (int) – 要展平的维度的最后一个维度。
in_keys (NestedKey 序列, 可选) – 要展平的条目。如果未提供,则假定为
["pixels"]
。out_keys (NestedKey 序列, 可选) – 展平后的观测键。如果未提供,则假定为
in_keys
。allow_positive_dim (bool, 可选) – 如果为
True
,则接受正维度。FlattenObservation
将把这些映射到输入张量的第 n 个特征维度(即父环境批量大小之后的第 n 个维度)。默认为 False,即不允许非负维度。
- forward(tensordict: TensorDictBase) TensorDictBase ¶
读取输入 tensordict,并为选定的键应用转换。
对于任何专门与父环境相关的操作(例如 FrameSkip),请修改 _step 方法。 只有在需要修改输入 tensordict 时才应覆盖
_call()
。_call()
将被TransformedEnv.step()
和TransformedEnv.reset()
调用。
- transform_observation_spec(observation_spec: TensorSpec) TensorSpec [source]¶
转换观测规范,使结果规范与转换映射匹配。
- 参数:
observation_spec (TensorSpec) – 转换前的规范
- 返回:
转换后预期的规范