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

相关文章

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

Tomcat版本与Java版本的关系及说明

《Tomcat版本与Java版本的关系及说明》:本文主要介绍Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat版本与Java版本的关系Tomcat历史版本对应的Java版本Tomcat支持哪些版本的pythonJ

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Nginx指令add_header和proxy_set_header的区别及说明

《Nginx指令add_header和proxy_set_header的区别及说明》:本文主要介绍Nginx指令add_header和proxy_set_header的区别及说明,具有很好的参考价... 目录Nginx指令add_header和proxy_set_header区别如何理解反向代理?proxy

Spring Boot中定时任务Cron表达式的终极指南最佳实践记录

《SpringBoot中定时任务Cron表达式的终极指南最佳实践记录》本文详细介绍了SpringBoot中定时任务的实现方法,特别是Cron表达式的使用技巧和高级用法,从基础语法到复杂场景,从快速启... 目录一、Cron表达式基础1.1 Cron表达式结构1.2 核心语法规则二、Spring Boot中定

python多种数据类型输出为Excel文件

《python多种数据类型输出为Excel文件》本文主要介绍了将Python中的列表、元组、字典和集合等数据类型输出到Excel文件中,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一.列表List二.字典dict三.集合set四.元组tuplepython中的列表、元组、字典