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) –
用於
更新探索雜訊排程的 policy 實例;
在 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。