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 钩子。- 参数:
record_interval (int) – 两次调用记录器进行测试之间的优化步骤总数。
record_frames (int) – 测试期间要记录的帧数。
frame_skip (int) – 环境中使用的 frame_skip。让 trainer 知道每次迭代跳过的帧数非常重要,否则可能会低估帧数。对于日志记录,此参数对于标准化奖励非常重要。最后,要比较具有不同 frame_skip 的不同运行,必须标准化帧数和奖励。默认为
1
。policy_exploration (ProbabilisticTDModule) –
用于
更新探索噪声计划的策略实例;
在记录器上测试策略。
鉴于此实例应该既探索又呈现策略的性能,因此应该可以通过调用 set_exploration_type(ExplorationType.DETERMINISTIC) 上下文管理器来关闭探索行为。
environment (EnvBase) – 用于测试的环境实例。
exploration_type (ExplorationType, optional) – 用于策略的探索模式。默认情况下,不使用探索,使用的值是
ExplorationType.DETERMINISTIC
。设置为ExplorationType.RANDOM
以启用探索log_keys (sequence of str 或 tuples 或 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。