clearml/examples/reporting/matplotlib_manual_reporting.py
2022-04-02 13:37:07 +03:00

75 lines
1.9 KiB
Python

# ClearML - Example of Matplotlib and Seaborn integration and reporting
#
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from clearml import Task
# Connecting ClearML with the current process,
# from here on everything is logged automatically
# Create a new task, disable automatic matplotlib connect
task = Task.init(
project_name="examples",
task_name="Manual Matplotlib example",
auto_connect_frameworks={"matplotlib": False},
)
# Create plot and explicitly report as figure
N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
area = (30 * np.random.rand(N))**2 # 0 to 15 point radii
plt.scatter(x, y, s=area, c=colors, alpha=0.5)
task.logger.report_matplotlib_figure(
title="Manual Reporting", series="Just a plot", iteration=0, figure=plt
)
# Show the plot
plt.show()
# Create plot and explicitly report as an image
plt.scatter(x, y, s=area, c=colors, alpha=0.5)
task.logger.report_matplotlib_figure(
title="Manual Reporting",
series="Plot as an image",
iteration=0,
figure=plt,
report_image=True,
)
# Show the plot
plt.show()
# Create image plot
m = np.eye(256, 256, dtype=np.uint8)
plt.imshow(m)
# Report plot
task.logger.report_matplotlib_figure(
title="Manual Reporting",
series="Image plot",
iteration=0,
figure=plt,
report_interactive=False,
)
# Show plot
plt.show()
# Create Seaborn plot
sns.set(style="darkgrid")
# Load an example dataset with long-form data
fmri = sns.load_dataset("fmri")
# Plot the responses for different events and regions
sns.lineplot(x="timepoint", y="signal", hue="region", style="event", data=fmri)
# Report plot
task.logger.report_matplotlib_figure(
title="Seaborn example",
series="My Plot Series 4",
iteration=10,
figure=plt,
report_interactive=False,
)
# Show plot
plt.show()
print("This is a Matplotlib & Seaborn example")