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 图形可以通过将 report_image=True
传递给 Logger.report_matplotlib_figure()
来记录为图像。
在实验的 DEBUG SAMPLES 标签中查看这些图像。
参见手动Matplotlib报告示例。