Skip to main content

使用日志记录器 - Jupyter Notebook

jupyter_logging_example.ipynb 脚本展示了ClearML的显式报告模块Logger在Jupyter Notebook中的集成。所有ClearML的显式报告功能都可以在Jupyter Notebook中使用。

此示例包括几种类型的显式报告,包括:

  • 标量
  • 一些图表
  • Media.
note

clearml GitHub仓库中,此示例包含一个可点击的图标,用于在Google Colab中打开笔记本。

标量

要报告标量,请调用Logger.report_scalar()。 标量图将出现在web UI中的SCALARS部分。

# report two scalar series on two different graphs
for i in range(10):
logger.report_scalar(title="graph A", series="series A", iteration=i, value=1./(i+1))
logger.report_scalar(title="graph B", series="series B", iteration=i, value=10./(i+1))

分离的标量图

# report two scalar series on the same graph
for i in range(10):
logger.report_scalar(title="unified graph", series="series A", iteration=i, value=1./(i+1))
logger.report_scalar(title="unified graph", series="series B", iteration=i, value=10./(i+1))

统一标量图

图表

图表显示在PLOTS中。

2D 图表

通过调用Logger.report_scatter2d()来报告2D散点图。 使用mode参数将数据点绘制为标记,或同时绘制线条和标记。

scatter2d = np.hstack(
(np.atleast_2d(np.arange(0, 10)).T, np.random.randint(10, size=(10, 1)))
)
# report 2d scatter plot with markers
logger.report_scatter2d(
title="example_scatter",
series="series_lines+markers",
iteration=iteration,
scatter=scatter2d,
xaxis="title x",
yaxis="title y",
mode='lines+markers'
)

二维散点图

3D 图表

要将系列绘制为3D散点图,请使用Logger.report_scatter3d()

# report 3d scatter plot
scatter3d = np.random.randint(10, size=(10, 3))
logger.report_scatter3d(
title="example_scatter_3d",
series="series_xyz",
iteration=iteration,
scatter=scatter3d,
xaxis="title x",
yaxis="title y",
zaxis="title z",
)

3d散点图

要将系列绘制为曲面图,请使用 Logger.report_surface()

# report 3d surface
surface = np.random.randint(10, size=(10, 10))
logger.report_surface(
title="example_surface",
series="series1",
iteration=iteration,
matrix=surface,
xaxis="title X",
yaxis="title Y",
zaxis="title Z",
)

3D表面图

混淆矩阵

通过调用Logger.report_confusion_matrix()来报告混淆矩阵。

# report confusion matrix
confusion = np.random.randint(10, size=(10, 10))
logger.report_confusion_matrix(
title="example_confusion",
series="ignored",
iteration=iteration,
matrix=confusion,
xaxis="title X",
yaxis="title Y",
)

混淆矩阵

直方图

通过调用Logger.report_histogram()来报告直方图。 要在同一图表上报告多个系列,请使用相同的title参数。

# report a single histogram
histogram = np.random.randint(10, size=10)
logger.report_histogram(
title="single_histogram",
series="random histogram",
iteration=iteration,
values=histogram,
xaxis="title x",
yaxis="title y",
)

直方图

# report a two histograms on the same plot
histogram1 = np.random.randint(13, size=10)
histogram2 = histogram * 0.75
logger.report_histogram(
title="two_histogram",
series="series 1",
iteration=iteration,
values=histogram1,
xaxis="title x",
yaxis="title y",
)
logger.report_histogram(
title="two_histogram",
series="series 2",
iteration=iteration,
values=histogram2,
xaxis="title x",
yaxis="title y",
)

一个图中的两个直方图

媒体

通过调用Logger.report_media()并使用local_path参数来报告音频、HTML、图像和视频。它们会出现在DEBUG SAMPLES中。

这些示例的媒体文件是使用StorageManager.get_local_copy()下载的。

例如,下载一张图片:

image_local_copy = StorageManager.get_local_copy(
remote_url="https://pytorch.org/tutorials/_static/img/neural-style/picasso.jpg",
name="picasso.jpg"
)

音频

logger.report_media(title='audio', series='pink panther', iteration=1, local_path=audio_local_copy)

音频样本

HTML

logger.report_media(
title="html",
series="url_html",
iteration=1,
url="https://clear.ml/docs/latest/docs/index.html"
)

HTML示例

图片

logger.report_image(
title="image",
series="image from url",
iteration=100,
local_path=image_local_copy
)

图片示例

视频

logger.report_media(
title='video',
series='big bunny',
iteration=1,
local_path=video_local_copy
)

视频示例

文本

通过调用Logger.report_text()来报告文本消息。

logger.report_text("hello, this is plain text")

文本报告到控制台