clearml-docs/docs/guides/reporting/model_config.md
2023-10-01 10:31:48 +03:00

61 lines
2.0 KiB
Markdown

---
title: Model Reporting
---
The [model_reporting.py](https://github.com/allegroai/clearml/blob/master/examples/reporting/model_reporting.py) example
demonstrates logging a model using the [OutputModel](../../references/sdk/model_outputmodel.md)
class.
The example does the following:
* Creates a task named `Model reporting example` in the `examples` project.
* Uses an OutputModel object to register a previously trained model and log its label enumeration.
## Initialization
An OutputModel object is instantiated for the task.
```python
from clearml import Task, OutputModel
# Connecting ClearML with the current process,
task = Task.init(project_name="examples", task_name="Model logging example")
# Create output model and connect it to the task
output_model = OutputModel(task=task)
```
## Label Enumeration
Set the model's label enumeration using the [`OutputModel.update_labels`](../../references/sdk/model_outputmodel.md#update_labels)
method.
```python
labels = {"background": 0, "cat": 1, "dog": 2}
output_model.update_labels(labels)
```
## Registering Models
Register a previously trained model using the [`OutputModel.update_weights`](../../references/sdk/model_outputmodel.md#update_weights)
method. The example code uses a model stored in S3.
```python
# Manually log a model file, which will have the labels connected above
output_model.update_weights(register_uri=model_url)
```
## WebApp
The model appears in the task's **ARTIFACTS** tab.
![Task artifacts](../../img/examples_model_logging_artifacts.png)
Clicking on the model name takes you to the [model's page](../../webapp/webapp_model_viewing.md), where you can view the
model's details and access the model.
The model's **LABELS** tab displays its label enumeration.
![Model Labels tab](../../img/examples_model_logging_labels.png)
## Additional Example
See [PyTorch Model Updating](../frameworks/pytorch/model_updating.md) for a more robust example, which trains a model,
and then logs it with OutputModel.