ClipTransform¶
- class torchrl.envs.transforms.ClipTransform(in_keys=None, out_keys=None, in_keys_inv=None, out_keys_inv=None, *, low=None, high=None)[source]¶
一個用於裁剪輸入(狀態、動作)或輸出(觀測、獎勵)值的轉換。
此轉換可以接受多個輸入或輸出鍵,但每個轉換隻有一個值。如果需要多個裁剪值,應將多個轉換一個接一個地附加。
- 引數:
in_keys (list of NestedKeys) – 輸入條目(讀取)
out_keys (list of NestedKeys) – 輸入條目(寫入)
in_keys_inv (list of NestedKeys) – 呼叫
inv()期間的輸入條目(讀取)。out_keys_inv (list of NestedKeys) – 呼叫
inv()期間的輸入條目(寫入)。
- 關鍵字引數:
low (scalar, optional) – 裁剪空間的下界。
high (scalar, optional) – 裁剪空間的上界。
注意
可以只提供
low或high中的一個引數,但至少要提供一個。示例
>>> from torchrl.envs.libs.gym import GymEnv >>> base_env = GymEnv("Pendulum-v1") >>> env = TransformedEnv(base_env, ClipTransform(in_keys=['observation'], low=-1, high=0.1)) >>> r = env.rollout(100) >>> assert (r["observation"] <= 0.1).all()
- transform_observation_spec(observation_spec: TensorSpec) TensorSpec[source]¶
轉換觀察規範,使結果規範與轉換對映匹配。
- 引數:
observation_spec (TensorSpec) – 轉換前的規範
- 返回:
轉換後的預期規範
- transform_reward_spec(reward_spec: TensorSpec) TensorSpec[source]¶
轉換獎勵的 spec,使其與變換對映匹配。
- 引數:
reward_spec (TensorSpec) – 變換前的 spec
- 返回:
轉換後的預期規範