快捷方式

ClipTransform

torchrl.envs.transforms.ClipTransform(in_keys=None, out_keys=None, in_keys_inv=None, out_keys_inv=None, *, low=None, high=None)[原始碼]

用於裁剪輸入(狀態、動作)或輸出(觀測、獎勵)值的 transform。

此 transform 可以接受多個輸入或輸出鍵,但每個 transform 僅支援一個值。如果需要多個裁剪值,則應將多個 transform 依次附加。

引數:
  • in_keys (NestedKeys 列表) – 輸入條目 (讀取)

  • out_keys (NestedKeys 列表) – 輸入條目 (寫入)

  • in_keys_inv (NestedKeys 列表) – 在 inv() 呼叫期間的輸入條目 (讀取)。

  • out_keys_inv (NestedKeys 列表) – 在 inv() 呼叫期間的輸入條目 (寫入)。

關鍵字引數:
  • low (標量, 可選) – 裁剪空間的下界。

  • high (標量, 可選) – 裁剪空間的上界。

注意

只提供 lowhigh 引數中的一個是被允許的,但至少必須提供一個。

示例

>>> 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[原始碼]

轉換觀測空間的 spec,使結果 spec 與 transform 對映匹配。

引數:

observation_spec (TensorSpec) – transform 前的 spec

返回:

transform 後的預期 spec

transform_reward_spec(reward_spec: TensorSpec) TensorSpec[原始碼]

轉換獎勵空間的 spec,使結果 spec 與 transform 對映匹配。

引數:

reward_spec (TensorSpec) – transform 前的 spec

返回:

transform 後的預期 spec

文件

訪問 PyTorch 的全面開發者文件

檢視文件

教程

獲取面向初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源