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