Skip to main content

Matplotlib

tip

如果您尚未使用ClearML,请参阅入门指南以获取设置说明。

Matplotlib 是一个用于数据可视化的Python库。ClearML 自动捕获使用 matplotlib 创建的图表和图像。

你只需要在你的脚本中添加两行代码:

from clearml import Task

task = Task.init(task_name="<task_name>", project_name="<project_name>")

这将创建一个捕获以下内容的ClearML任务:

  • Git 详情
  • Source code and uncommitted changes
  • Installed packages
  • Matplotlib 可视化
  • 还有更多

WebApp中查看捕获的Matplotlib图表和图像,分别在实验的图表调试样本标签中。

实验图表

自动日志控制

默认情况下,当ClearML集成到您的脚本中时,它会捕获所有的matplotlib可视化。 但是,您可能希望对实验日志的内容有更多的控制。

要控制任务的框架日志记录,请使用Task.init()auto_connect_frameworks参数。 通过将参数设置为False,可以完全禁用所有自动日志记录。为了更精细地控制记录的框架,可以输入一个包含框架-布尔对的字典。

例如:

auto_connect_frameworks={
'matplotlib': False, 'tensorflow': False, 'tensorboard': False, 'pytorch': True,
'xgboost': False, 'scikit': True, 'fastai': True, 'lightgbm': False,
'hydra': True, 'detect_repository': True, 'tfdefines': True, 'joblib': True,
'megengine': True, 'catboost': True
}

手动日志记录

为了增强其自动日志记录功能,ClearML 还提供了一个显式的日志记录接口。

使用 Logger.report_matplotlib_figure() 显式记录 一个 matplotlib 图形,并指定其标题、系列名称和迭代次数:

logger = task.get_logger()

area = (40 * np.random.rand(N))**2
plt.scatter(x, y, s=area, c=colors, alpha=0.5)
logger.report_matplotlib_figure(title="My Plot Title", series="My Plot Series", iteration=10, figure=plt)
plt.show()

记录的图表显示在实验的图表标签中。

实验Matplotlib图表

Matplotlib 图形可以通过将 report_image=True 传递给 Logger.report_matplotlib_figure() 来记录为图像。 在实验的 DEBUG SAMPLES 标签中查看这些图像。

实验调试示例

参见手动Matplotlib报告示例。