SignTransform¶
- class torchrl.envs.transforms.SignTransform(in_keys=None, out_keys=None, in_keys_inv=None, out_keys_inv=None)[原始碼]¶
一個計算 TensorDict 值符號的轉換。
此轉換讀取
in_keys和in_keys_inv中的張量,計算其元素的符號,並將結果符號張量分別寫入out_keys和out_keys_inv。- 引數:
示例
>>> from torchrl.envs import GymEnv, TransformedEnv, SignTransform >>> base_env = GymEnv("Pendulum-v1") >>> env = TransformedEnv(base_env, SignTransform(in_keys=['observation'])) >>> r = env.rollout(100) >>> obs = r["observation"] >>> assert (torch.logical_or(torch.logical_or(obs == -1, obs == 1), obs == 0.0)).all()
- transform_observation_spec(observation_spec: TensorSpec) TensorSpec[原始碼]¶
轉換觀察規範,使結果規範與轉換對映匹配。
- 引數:
observation_spec (TensorSpec) – 轉換前的規範
- 返回:
轉換後的預期規範
- transform_reward_spec(reward_spec: TensorSpec) TensorSpec[原始碼]¶
轉換獎勵的 spec,使其與變換對映匹配。
- 引數:
reward_spec (TensorSpec) – 變換前的 spec
- 返回:
轉換後的預期規範