【笔记】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

相关文章

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd

mybatis-plus QueryWrapper中or,and的使用及说明

《mybatis-plusQueryWrapper中or,and的使用及说明》使用MyBatisPlusQueryWrapper时,因同时添加角色权限固定条件和多字段模糊查询导致数据异常展示,排查发... 目录QueryWrapper中or,and使用列表中还要同时模糊查询多个字段经过排查这就导致只要whe

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

JAVA覆盖和重写的区别及说明

《JAVA覆盖和重写的区别及说明》非静态方法的覆盖即重写,具有多态性;静态方法无法被覆盖,但可被重写(仅通过类名调用),二者区别在于绑定时机与引用类型关联性... 目录Java覆盖和重写的区别经常听到两种话认真读完上面两份代码JAVA覆盖和重写的区别经常听到两种话1.覆盖=重写。2.静态方法可andro

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu

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】二