mirror of
https://github.com/clearml/clearml
synced 2025-01-31 09:07:00 +00:00
63 lines
1.8 KiB
Python
63 lines
1.8 KiB
Python
|
# ClearML - Example of manual model reporting
|
||
|
from clearml import Task, OutputModel
|
||
|
from clearml.utilities.plotly_reporter import SeriesInfo
|
||
|
import pandas as pd
|
||
|
import numpy as np
|
||
|
|
||
|
# Connecting ClearML with the current process,
|
||
|
task = Task.init(project_name="examples", task_name="Model reporting plots example")
|
||
|
|
||
|
# Create output model and connect it to the task
|
||
|
output_model = OutputModel(task=task)
|
||
|
|
||
|
# Optional: add labels to the model, so we do not forget
|
||
|
labels = {"background": 0, "cat": 1, "dog": 2}
|
||
|
output_model.update_labels(labels)
|
||
|
|
||
|
# Register an already existing Model file somewhere
|
||
|
model_url = "https://github.com/ultralytics/yolov5/releases/download/v6.2/yolov5x6.pt"
|
||
|
output_model.update_weights(register_uri=model_url)
|
||
|
|
||
|
output_model.report_scalar("Reported Metrics", "Val - mAP@50", 72.7, 0)
|
||
|
output_model.report_single_value("Total epochs", 8)
|
||
|
|
||
|
df = pd.DataFrame(
|
||
|
{
|
||
|
"Model": ["YOLOv5n", "YOLOv5s", "YOLOv5m6", "YOLOv5x6"],
|
||
|
"size (pixels)": [640, 640, 1280, 1280],
|
||
|
"Val - mAP@50-95": [28.0, 37.4, 51.3, 55.0],
|
||
|
"CPU Speed b1 (ms)": [45, 98, 887, 3136],
|
||
|
}
|
||
|
)
|
||
|
output_model.report_table(
|
||
|
title="Summary Table", series="Comparison", iteration=0, table_plot=df
|
||
|
)
|
||
|
|
||
|
output_model.report_line_plot(
|
||
|
title="Accuracy",
|
||
|
series=[
|
||
|
SeriesInfo(
|
||
|
name="Validation",
|
||
|
data=np.array(
|
||
|
[
|
||
|
[0, 0.3],
|
||
|
[1, 0.55],
|
||
|
[2, 0.7],
|
||
|
[3, 0.77],
|
||
|
[4, 0.8],
|
||
|
[5, 0.816],
|
||
|
[6, 0.822],
|
||
|
[7, 0.829],
|
||
|
]
|
||
|
),
|
||
|
)
|
||
|
],
|
||
|
xaxis="Iteration",
|
||
|
yaxis="Validation Accuracy",
|
||
|
)
|
||
|
|
||
|
# Or upload a local model file to be later used
|
||
|
# output_model.update_weights(weights_filename="/path/to/file.onnx")
|
||
|
|
||
|
print("Model registration completed")
|