Skip to main content

日志记录器

ClearML Logger 类用于报告实验结果,例如指标、图表和调试样本。它通过 ClearML Task 对象提供。

Logger对象用于执行以下操作:

记录结果的类型

ClearML 支持四种类型的报告:

  • 文本 - 主要从stdout和stderr自动捕获,但也可以手动记录。
  • 标量 - 时间序列数据。X轴始终是一个连续的数字,通常是迭代次数,但也可以是周期或其他。
  • 图表 - 通用图形和图表,例如直方图、混淆矩阵、折线图和自定义的plotly图表。
  • 调试样本 - 图像、音频和视频。可以按每次迭代报告。

image

自动报告

ClearML 自动捕获报告给领先的可视化库(如 TensorBoard 和 Matplotlib)的指标,无需额外的代码。

此外,ClearML 捕获并记录所有写入标准输出的内容,从调试信息到错误再到库警告信息。

GPU、CPU、内存和网络信息也会自动捕获。

image

支持的包

自动报告示例

查看一些ClearML支持的包的自动报告示例:

手动报告

ClearML 还支持手动报告多种类型的指标和图表,例如折线图、直方图,甚至是 plotly 图表。

用于报告指标的对象称为logger,通过调用Task.get_logger()获得。

媒体报告

ClearML 还支持在每次迭代时报告媒体(如音频、视频和图像)。 本节主要用于调试。建议使用 artifacts 来存储稍后将使用的脚本输出。

为了防止服务器过载,每个标题/系列只保存最后X个结果。 详情请参见Logger.report_media

image

显式报告示例

查看ClearML的各种结果类型的显式报告示例:

日志记录器配置

Logger 类提供了控制 ClearML 日志记录各个方面的方法。

上传目的地

使用Logger.set_default_upload_destination方法设置用于上传调试样本的默认存储URI。 调试样本是单独上传的。每个样本的链接都会被报告。

DESTINATION STORAGE CREDENTIALS

目标存储的凭据在ClearML配置文件中指定。

自动日志记录设置

Logger类提供了用于微调ClearML与Matplotlib和Tensorboard的自动日志记录行为的方法。 例如,使用Logger.matplotlib_force_report_non_interactive 类方法来控制如何记录matplotlib对象。参见Logger.tensorboard_auto_group_scalars 类方法。

设置默认的NaN和Inf值

当你报告包含NaN或Inf值的指标时,ClearML默认将它们记录为0。你可以分别使用Logger.set_reporting_nan_valueLogger.set_reporting_inf_value类方法为NaN和Inf指定不同的默认值。