ray.rllib.算法.算法配置.AlgorithmConfig.报告#

AlgorithmConfig.reporting(*, keep_per_episode_custom_metrics: bool | None = <ray.rllib.utils.from_config._NotProvided object>, metrics_episode_collection_timeout_s: float | None = <ray.rllib.utils.from_config._NotProvided object>, metrics_num_episodes_for_smoothing: int | None = <ray.rllib.utils.from_config._NotProvided object>, min_time_s_per_iteration: float | None = <ray.rllib.utils.from_config._NotProvided object>, min_train_timesteps_per_iteration: int | None = <ray.rllib.utils.from_config._NotProvided object>, min_sample_timesteps_per_iteration: int | None = <ray.rllib.utils.from_config._NotProvided object>) AlgorithmConfig[源代码]#

设置配置的报告设置。

参数:
  • keep_per_episode_custom_metrics – 存储原始自定义指标,不计算最大值、最小值、平均值

  • metrics_episode_collection_timeout_s – 最多等待指标批次这么多秒。那些未及时返回的将在下一次训练迭代中收集。

  • metrics_num_episodes_for_smoothing – 如果可能,在此多集上平滑推出指标。如果推出(样本收集)刚刚开始,缓冲区中可能少于此多集,我们将计算这些可用集的指标。如果在一个训练迭代中收集的集数超过此数,则使用所有这些集进行指标计算,即不要裁剪任何“多余”集。将其设置为1以禁用平滑,并始终仅报告最近收集的集的回报。

  • min_time_s_per_iteration – 在一个 Algorithm.train() 调用中累积的最短时间(以秒为单位)。此值不影响学习,只影响 Algorithm.train() 调用 Algorithm.training_step() 的次数。如果在一次这样的步骤尝试后,所用时间未达到 min_time_s_per_iteration,将执行 n 次更多的 Algorithm.training_step() 调用,直到达到最短时间。设置为 0 或 None 表示没有最短时间。

  • min_train_timesteps_per_iteration – 在单个 train() 调用中累积的最小训练时间步数。此值不影响学习,仅影响 Algorithm.train() 调用 Algorithm.training_step() 的次数。如果在一次这样的步骤尝试后,训练时间步数尚未达到,将执行 n 次更多的 training_step() 调用,直到达到最小时间步数。设置为 0 或 None 表示没有最小时间步数。

  • min_sample_timesteps_per_iteration – 在一个 train() 调用中累积的最小环境采样时间步数。此值不影响学习,仅影响 Algorithm.train() 调用 Algorithm.training_step() 的次数。如果在一次这样的步骤尝试后,环境采样时间步数尚未达到,将执行 n 次更多的 training_step() 调用,直到执行了最小时间步数。设置为 0 或 None 表示没有最小时间步数。

返回:

这个更新的 AlgorithmConfig 对象。