clearml-docs/docs/guides/frameworks/pytorch/manual_model_upload.md

79 lines
2.8 KiB
Markdown
Raw Normal View History

2021-05-13 23:48:51 +00:00
---
title: Manual Model Upload
---
The [manual_model_upload.py](https://github.com/allegroai/clearml/blob/master/examples/frameworks/pytorch/manual_model_upload.py)
example demonstrates **ClearML**'s tracking of a manually configured model created with PyTorch, including model checkpoints
(snapshots), and output to the console. When the script runs, it creates an experiment named `Model configuration and upload`,
which is associated with the `examples` project.
Configure **ClearML** for model checkpoint (snapshot) storage in any of the following ways ([debug sample](../../../references/sdk/logger.md#set_default_upload_destination) storage is different):
* In the configuration file, set [default_output_uri](../../../configs/clearml_conf.md#sdkdevelopment).
* In code, when [initializing a Task](../../../references/sdk/task.md#taskinit), use the `output_uri` parameter.
* In the **ClearML Web UI**, when [modifying an experiment](../../../webapp/webapp_exp_tuning.md#output-destination).
## Configuration
This example shows two ways to connect a configuration, using the [Task.connect_configuration](../../../references/sdk/task.md#connect_configuration)
method.
* Connect a configuration file by providing the file's path. **ClearML Server** stores a copy of the file.
```python
# Connect a local configuration file
config_file = os.path.join('..', '..', 'reporting', 'data_samples', 'sample.json')
config_file = task.connect_configuration(config_file)
```
* Create a configuration dictionary and plug it into the method.
```python
model_config_dict = {
'value': 13.37,
'dict': {'sub_value': 'string', 'sub_integer': 11},
'list_of_ints': [1, 2, 3, 4],
}
model_config_dict = task.connect_configuration(model_config_dict)
```
If the configuration changes, **ClearML** tracks it.
```python
model_config_dict['new value'] = 10
model_config_dict['value'] *= model_config_dict['new value']
```
## Artifacts
Model artifacts associated with the experiment appear in the info panel of the **EXPERIMENTS** tab and in the info panel
in the **MODELS** tab.
The model info panel contains model details, including:
* Model design (which is also in the experiment info panel)
* Label enumeration
* Model URL
* Framework
* Snapshot locations.
### General model information
![image](../../../img/examples_pytorch_manual_model_upload_03.png)
### Model design
![image](../../../img/examples_pytorch_manual_model_upload_04.png)
### Label enumeration
Connect a label enumeration dictionary by calling the [Task.connect_label_enumeration](../../../references/sdk/task.md#connect_label_enumeration)
method.
```python
# store the label enumeration of the training model
labels = {'background': 0, 'cat': 1, 'dog': 2}
task.connect_label_enumeration(labels)
```
![image](../../../img/examples_pytorch_manual_model_upload_05.png)