捷徑

VecGymEnvTransform

class torchrl.envs.transforms.VecGymEnvTransform(final_name='final')[原始碼]

一種 GymWrapper 子類別的轉換,以一致的方式處理自動重設。

Gym、gymnasium 和 SB3 提供向量化(讀取、平行或批次)的環境,這些環境會自動重設。發生這種情況時,由動作產生的實際觀察會儲存在 info 中的一個鍵中。類別 torchrl.envs.libs.gym.terminal_obs_reader 會讀取該觀察,並將其儲存在輸出 tensordict 中的 "final" 鍵中。反過來,這個轉換會讀取該最終資料,將其與實際重設產生的觀察值交換,並將重設輸出儲存在私有容器中。產生的資料真正反映了步驟的輸出。

這個類別適用於 gym 0.13 到最新的 gymnasium 版本。

注意

Gym 版本 < 0.22 不會傳回最終觀察值。對於這些版本,我們只需用 NaN 填寫下一個觀察值(因為它已遺失),並在下一步執行交換。

然後,當呼叫 env.reset 時,儲存的資料會寫回其應有的位置(且 reset 不執行任何操作)。

每當使用非同步環境建立包裝函式時,此轉換會自動附加到 gym 環境。

參數:

final_name (str, optional) – dict 中最終觀察值的名稱。預設為 “final”

注意

一般來說,不應直接處理這個類別。每當向量化環境放置在 GymWrapper 中時,就會建立這個類別。

forward(tensordict: TensorDictBase) TensorDictBase[原始碼]

讀取輸入 tensordict,並針對選定的鍵套用轉換。

transform_observation_spec(observation_spec: TensorSpec) TensorSpec[原始碼]

轉換觀察值規格,使產生的規格符合轉換映射。

參數:

observation_spec (TensorSpec) – 轉換前的規格 (spec)

回傳值:

轉換後預期的規格 (spec)

文件

存取 PyTorch 的完整開發者文件

檢視文件

教學

取得針對初學者和進階開發者的深入教學

檢視教學

資源

尋找開發資源並獲得問題解答

檢視資源