You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用ClearML捕获PFRL通过logger.info输出的指标到Scalars面板

ClearML采集PFRL日志指标到Scalars面板的解决方案

你可以根据自己的需求选择以下三种方案:

方案1:配置ClearML自动日志解析规则(无需改代码,最便捷)

ClearML原生支持自定义正则规则解析控制台输出,自动提取为Scalar指标:

  • 打开对应实验的详情页,进入「设置」选项卡下的「日志解析规则」模块
  • 参考PFRL输出的指标日志格式编写正则匹配规则,比如默认输出episode: 100, average_reward: 256.7, loss: 0.342,可以为每个指标编写对应正则,例如匹配平均奖励的正则可写为average_reward: (\d+\.?\d*),将匹配到的数值组对应到指标值,自定义填写指标名即可
  • 规则保存后既可以对后续新实验生效,也可以触发历史实验重新解析,无需重跑即可生成Scalars图表

方案2:修改PFRL日志模块实现自动上报(一劳永逸)

如果需要所有PFRL相关实验都自动上报指标,可以直接修改PFRL的日志逻辑:

  • 找到PFRL安装目录下的pfrl/utils/logger.py文件,定位到输出统计指标的info调用逻辑
  • 提取指标名、数值、训练步数三个参数后,添加ClearML上报调用:Logger.current_logger().report_scalar(title="训练指标", series=指标名, value=数值, iteration=步数)
  • 也可以直接为PFRL的日志实例注册自定义处理器,将所有带统计指标的logger.info输出自动转发到ClearML的Scalar上报接口

方案3:训练代码添加日志拦截器(侵入性低)

不想改PFRL源码也不想每次配置规则,可以在训练启动前加几行代码拦截PFRL日志:

  • 用Python标准库logging为PFRL的logger实例添加自定义Handler,每次logger.info输出时先过自定义的解析函数
  • 解析出指标相关的参数后直接调用ClearML的report_scalar方法实时上报,不影响原有日志输出逻辑

小提示:如果PFRL的统计指标日志有统一的前缀标识(比如[STAT]),写正则的时候可以加上前缀过滤,避免误匹配普通的日志内容。

内容的提问来源于stack exchange,提问作者Ventose

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 03:51:03