code: def main():
      # Connecting ClearML with the current process,
      # from here on everything is logged automatically
      task = Task.init(
          project_name="examples",
          task_name="Model update PyTorch",
          auto_connect_frameworks={"pytorch": False},
      )
      params = {
          "number_of_epochs": 1,
          "batch_size": 64,
          "dropout": 0.25,
          "base_lr": 0.001,
          "momentum": 0.9,
          "loss_report": 100,
      }
  
      params = task.connect(
          params
      )  # enabling configuration override by clearml
      print(
          params
      )  # printing actual configuration (after override in remote mode)
  
      model = OutputModel(task=task, framework="pytorch")
      model_config_dict = {
          "list_of_ints": [1, 2, 3, 4],
          "dict": {"sub_value": "string", "sub_integer": 11},
          "value": 13.37,
      }
      model.update_design(config_dict=model_config_dict)
  
      manager = StorageManager()
  
      dataset_path = Path(
          manager.get_local_copy(
              remote_url="https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz"
          )
      )
  
      # Dataset and Dataloader initializations
      transform = transforms.Compose([transforms.ToTensor()])
  
      trainset = datasets.CIFAR10(
          root=dataset_path,
          train=True,
          download=False,
          transform=transform,
      )
      trainloader = torch.utils.data.DataLoader(
          trainset,
          batch_size=params.get("batch_size", 4),
          shuffle=True,
          num_workers=10,
      )
  
      testset = datasets.CIFAR10(
          root=dataset_path,
          train=False,
          download=False,
          transform=transform,
      )
      testloader = torch.utils.data.DataLoader(
          testset,
          batch_size=params.get("batch_size", 4),
          shuffle=False,
          num_workers=10,
      )
  
      run(
          params["number_of_epochs"],
          params["base_lr"],
          params["momentum"],
          10,
          params,
          trainloader,
          testloader,
          model,
      )
  
imports: from pathlib import Path
  import matplotlib.pyplot
  import torch
  import torch.nn
  import torch.nn.functional
  import torch.optim
  import torchvision.datasets
  import torchvision.transforms
  from ignite.contrib.handlers import TensorboardLogger
  from ignite.engine import Events, create_supervised_trainer, create_supervised_evaluator
  from ignite.handlers import global_step_from_engine
  from ignite.metrics import Accuracy, Loss, Recall
  from ignite.utils import setup_logger
  from torch.utils.tensorboard import SummaryWriter
  from tqdm import tqdm
  from clearml import Task, StorageManager, OutputModel
label_desc: Use image node_id 1 for calling a global function with example usage: main() without return types