Project Icon

rl-plotter

绘制强化学习训练曲线的工具

rl-plotter 是一个简单的工具,可以轻松绘制强化学习训练曲线。支持自定义记录器、多实验绘图和多种绘图样式,兼容 OpenAI-baseline 和 OpenAI-spinningup。用户可以通过命令行方式绘制结果,并对图表进行个性化设置,如平均分组和阴影标准偏差。适用于研究人员和开发者追踪和可视化强化学习训练过程,提升工作效率和结果质量。

rl-plotter 项目介绍

rl-plotter 是一个简单易用的工具,专为强化学习(Reinforcement Learning, RL)领域设计,以便快速绘制学习曲线图。其功能设计旨在帮助研究人员和开发者更直观地展示其强化学习模型的训练效果。接下来,我们将详细介绍该项目的安装步骤、使用方法以及一些具体功能。

安装方式

从 PIP 安装

如果您希望通过 PIP 来安装,您只需在命令行中输入以下指令:

pip install rl_plotter

从源码安装

如果您倾向于从源码安装,可以使用以下指令:

python setup.py install

使用方法

1. 添加基础日志记录器

建议在您进行模型评估的代码中添加日志记录器:

from rl_plotter.logger import Logger
logger = Logger(exp_name="your_exp_name", env_name=环境名, seed=随机种子, locals())
····
logger.update(score=评估分数列表, total_steps=当前训练步数)

您也可以选择使用 OpenAI 提供的 spinningup 库来记录日志,也支持使用 OpenAI-baseline 的 bench.Monitor,尽管不太推荐该方法。

env = logger.monitor_env(env)

2. 跟踪其他变量(可选项)

如果您需要跟踪除得分之外的其他变量,可以使用自定义日志记录器:

custom_logger=logger.new_custom_logger(filename, fieldnames=["变量1", "变量2", ..., "变量n"])
custom_logger.update(fieldvalues=变量值列表, total_steps=当前训练步数)

3. 绘制结果图表

在模型训练结束或者训练过程中,您可以按以下步骤绘制学习曲线:

  • 切换到日志目录或多日志的父目录(默认:./)。
  • 运行以下命令进行绘图:
rl_plotter --save --show

如果您希望获得类似 OpenAI-spinningup 风格的图表,还可以使用 seaborn 内核进行绘图:

rl_plotter_spinup --save --show

示例

1. 常用命令

rl_plotter --save --show --filter HalfCheetah
rl_plotter --save --show --filter Ant --avg_group --shaded_std
rl_plotter --save --show --filter Swimmer --avg_group --shaded_std --shaded_err
rl_plotter --save --show --filter Walker2d --filename progress.txt --xkey TotalEnvInteracts --ykey AverageEpRet

2. 实际例子

以下是一些实际应用的命令示例:

rl_plotter --show --save --avg_group --shaded_err --shaded_std

以及:

rl_plotter --show --save --avg_group --shaded_err --shaded_std --filename q --filters Walker HalfCheetah --ykey 偏差 真值 --风格 默认 --平滑 0

更多具体使用方法

如果您想更深入地了解可自定义的曲线样式,您可以使用以下命令查看所有参数设置:

rl_plotter --help

功能特点

  • 自定义日志记录器、样式、键值、标签、x轴格式化等。
  • 根据目录名称进行筛选。
  • 多实验绘图功能。
  • 支持多种绘图库内核(原生 matplotlib 和 seaborn)。
  • 兼容 OpenAI-baseline 的监控记录器和 OpenAI-spinningup。
  • 对特定实验提供颜色对应。
  • 支持多 y 键值和双 y 图例。

项目引用

如果您在研究或出版中使用到该项目,请进行如下引用:

@misc{rl-plotter,
  author = {Xiaoyu Gong},
  title = {RL-plotter: A plotter for reinforcement learning},
  year = {2020},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {https://github.com/gxywy/rl-plotter},
}

鸣谢

rl-plotter 的核心灵感来源于 OpenAI 的 baselines 和 spinningup 项目。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号