【笔记】stable_baseline 记录输出说明

2024-01-23 07:44

本文主要是介绍【笔记】stable_baseline 记录输出说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

训练 PPO 代理时的记录器输出示例:

-----------------------------------------
| eval/                   |             |
|    mean_ep_length       | 200         |
|    mean_reward          | -157        |
| rollout/                |             |
|    ep_len_mean          | 200         |
|    ep_rew_mean          | -227        |
| time/                   |             |
|    fps                  | 972         |
|    iterations           | 19          |
|    time_elapsed         | 80          |
|    total_timesteps      | 77824       |
| train/                  |             |
|    approx_kl            | 0.037781604 |
|    clip_fraction        | 0.243       |
|    clip_range           | 0.2         |
|    entropy_loss         | -1.06       |
|    explained_variance   | 0.999       |
|    learning_rate        | 0.001       |
|    loss                 | 0.245       |
|    n_updates            | 180         |
|    policy_gradient_loss | -0.00398    |
|    std                  | 0.205       |
|    value_loss           | 0.226       |
-----------------------------------------

评估/eval

所有值均由 .eval/EvalCallback

mean_ep_length:平均剧集长度

mean_reward:平均每集奖励(评估期间)

success_rate:评估期间的平均成功率(1.0 表示 100% 成功),环境信息字典必须包含用于计算该值的键is_success

推出/rollout

ep_len_mean:平均剧集长度(剧集的平均值,默认为 100)stats_window_size

ep_rew_mean:平均剧集训练奖励(剧集的平均值,默认为 100),需要包装器来计算该值(由 make_vec_env 自动添加)。stats_window_sizeMonitor

exploration_rate:使用 DQN 时探索率的当前值,它对应于随机采取的行动的分数(“epsilon-greedy”探索的 epsilon)

success_rate:训练期间的平均成功率(剧集的平均值,默认为 100),您必须向包装器传递一个额外的参数以记录该值 () 并在剧集的最后一步提供stats_window_sizeMonitorinfo_keywords=(“is_success”,)info[“is_success”]=True/False

时间/time

episodes:总集数

fps:每秒帧数(包括梯度更新所花费的时间)

iterations:迭代次数(数据收集 + A2C/PPO 策略更新)

time_elapsed:自训练开始以来的时间(以秒为单位)

total_timesteps:总时间步长数(环境中的步数)

训练/train

actor_loss:偏离策略算法的执行组件损失的当前值

approx_kl:新旧策略之间的近似平均KL差异(对于PPO),它是对更新中发生多少变化的估计

clip_fraction:PPO 被剪裁(高于阈值)的替代损失的平均分数。clip_range

clip_range:PPO替代损失的剪裁因子的当前值

critic_loss:偏离策略算法的批评函数损失的当前值,通常是值函数输出与 TD(0) 之间的误差,时间差估计

ent_coef:熵系数的当前值(使用SAC时)

ent_coef_loss:熵系数损失的当前值(使用SAC时)

entropy_loss:熵损失的平均值(平均策略熵的负值)

explained_variance:由值函数解释的回报方差的分数,参见 https://scikit-learn.org/stable/modules/model_evaluation.html#explained-variance-score(ev=0 =>还不如预测零,ev=1 =>完美预测,ev<0 =>比预测零更差)

learning_rate:当前学习率值

loss:当前总损失值

n_updates:到目前为止应用的梯度更新数

policy_gradient_loss:策略梯度损失的当前值(其值没有多大意义)

value_loss:策略算法的值函数损失的当前值,通常为值函数输出与蒙特卡洛估计(或 TD(lambda) 估计)之间的误差

std:使用广义状态相关探索 (generalized State-Dependent Exploration,gSDE) 时噪声的当前标准偏差

参考资料:https://stable-baselines3.readthedocs.io/en/master/common/logger.html

这篇关于【笔记】stable_baseline 记录输出说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/635700

相关文章

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

java中新生代和老生代的关系说明

《java中新生代和老生代的关系说明》:本文主要介绍java中新生代和老生代的关系说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、内存区域划分新生代老年代二、对象生命周期与晋升流程三、新生代与老年代的协作机制1. 跨代引用处理2. 动态年龄判定3. 空间分

MySQL之InnoDB存储引擎中的索引用法及说明

《MySQL之InnoDB存储引擎中的索引用法及说明》:本文主要介绍MySQL之InnoDB存储引擎中的索引用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录1、背景2、准备3、正篇【1】存储用户记录的数据页【2】存储目录项记录的数据页【3】聚簇索引【4】二

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

Maven中的profiles使用及说明

《Maven中的profiles使用及说明》:本文主要介绍Maven中的profiles使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录主要用途定义 Profiles示例:多环境配置激活 Profiles示例:资源过滤示例:依赖管理总结Maven 中的

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Before和BeforeClass的区别及说明

《Before和BeforeClass的区别及说明》:本文主要介绍Before和BeforeClass的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Before和BeforeClass的区别一个简单的例子当运行这个测试类时总结Before和Befor