快捷方式

VecGymEnvTransform

class torchrl.envs.transforms.VecGymEnvTransform(final_name='final')[source]

一個用於 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, 可選的) – dict 中最終觀察結果的名稱。預設為 “final”

注意

通常,不應直接處理此類。每當將向量化環境放入 GymWrapper 中時,就會建立它。

forward(tensordict: TensorDictBase) TensorDictBase[source]

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

transform_observation_spec(observation_spec: TensorSpec) TensorSpec[source]

轉換觀察規範,使得結果規範與轉換對映相匹配。

引數:

observation_spec (TensorSpec) – 轉換前的規範

返回值:

轉換後預期的規範

文件

查閱 PyTorch 的全面開發者文件

檢視文件

教程

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

檢視教程

資源

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

檢視資源