check_env_specs¶
- torchrl.envs.check_env_specs(env: torchrl.envs.EnvBase, return_contiguous: bool | None = None, check_dtype=True, seed: int | None = None, tensordict: TensorDictBase | None = None, break_when_any_done: bool | Literal['both'] | None = None)[原始碼]¶
使用簡短的 rollout 來測試環境規範。
此測試函式應作為 torchrl 的 EnvBase 子類包裝的環境的健全性檢查:預期的資料與收集到的資料之間的任何差異都應引發斷言錯誤。
損壞的環境規範很可能會使並行環境無法使用。
- 引數:
env (EnvBase) – 要檢查其規格與資料是否匹配的環境。
return_contiguous (bool, optional) – 如果
True,則會使用 return_contiguous=True 呼叫隨機回放。這在某些情況下會失敗(例如,輸入/輸出的異構形狀)。預設為None(由動態 spec 的存在決定)。check_dtype (bool, optional) – 如果為 False,則會跳過 dtype 檢查。預設為 True。
seed (int, optional) – 為了可復現性,可以設定一個種子。種子會臨時設定在 pytorch 中,然後 RNG 狀態會恢復到之前的狀態。對於 env,我們設定了種子,但由於將 RNG 狀態恢復到之前的狀態不是大多數環境的功能,因此我們將其留給使用者自行完成。預設為
None。tensordict (TensorDict, optional) – 用於重置的可選 tensordict 例項。
break_when_any_done (bool 或 str, optional) –
break_when_any_done在rollout()中的值。如果為"both",則測試會在 True 和 False 上執行。
注意:此函式會重置環境種子。它應該“離線”使用,以檢查環境是否已充分構建,但它可能會影響實驗的播種,因此應將其排除在訓練指令碼之外。