捷徑

Recorder

class torchrl.trainers.Recorder(*, record_interval: int, record_frames: int, frame_skip: int = 1, policy_exploration: TensorDictModule, environment: Optional[EnvBase] = None, exploration_type: InteractionType = InteractionType.RANDOM, log_keys: Optional[List[Union[str, Tuple[str]]]] = None, out_keys: Optional[Dict[Union[str, Tuple[str]], str]] = None, suffix: Optional[str] = None, log_pbar: bool = False, recorder: Optional[EnvBase] = None)[source]

用於 Trainer 的 Recorder Hook。

參數:
  • record_interval (int) – 兩次呼叫 recorder 進行測試之間,總共的優化步驟數。

  • record_frames (int) – 測試期間要記錄的影格數。

  • frame_skip (int) – 環境中使用的 frame_skip。讓訓練器知道每次迭代跳過的影格數非常重要,否則影格計數可能會被低估。對於日誌記錄,此參數對於正規化獎勵非常重要。最後,為了比較具有不同 frame_skip 的不同執行,必須正規化影格計數和獎勵。預設為 1

  • policy_exploration (ProbabilisticTDModule) –

    用於

    1. 更新探索雜訊排程的 policy 實例;

    2. 在 recorder 上測試 policy。

    由於這個實例應該同時探索和呈現 policy 的效能,因此應該可以透過呼叫 set_exploration_type(ExplorationType.DETERMINISTIC) context manager 來關閉探索行為。

  • environment (EnvBase) – 用於測試的環境實例。

  • exploration_type (ExplorationType, optional) – 用於 policy 的探索模式。預設情況下,不使用探索,使用的值為 ExplorationType.DETERMINISTIC。設定為 ExplorationType.RANDOM 以啟用探索

  • log_keys (sequence of str or tuples or str, optional) – 要在 tensordict 中讀取以進行日誌記錄的鍵。預設為 [("next", "reward")]

  • out_keys (Dict[str, str], optional) – 將 log_keys 對應到其在日誌中的名稱的字典。預設為 {("next", "reward"): "r_evaluation"}

  • suffix (str, optional) – 要記錄的影片的後綴。

  • log_pbar (bool, optional) – 如果 True,獎勵值將記錄在進度列上。預設值為 False

register(trainer: Trainer, name: str = 'recorder')[source]

在訓練器 (trainer) 的預設位置註冊 hook。

參數:
  • trainer (Trainer) – hook 必須註冊到的訓練器。

  • name (str) – hook 的名稱。

注意

若要將 hook 註冊在非預設位置,請使用 register_op()

文件

獲取 PyTorch 的全面開發者文檔

查看文檔

教程

獲取適合初學者和高級開發者的深度教程

查看教程

資源

查找開發資源並獲取您的問題解答

查看資源