code: def main():
      # Create experiment
      experiment.create(name="diffuse", writers={"screen", "labml"})
  
      # Create configurations
      configs = Configs()
  
      # Set configurations. You can override the defaults by passing the values in the dictionary.
      experiment.configs(
          configs,
          {
              "dataset": "CelebA",  # 'MNIST'
              "image_channels": 3,  # 1,
              "epochs": 100,  # 5,
          },
      )
  
      # Initialize
      configs.init()
  
      # Set models for saving and loading
      experiment.add_pytorch_models({"eps_model": configs.eps_model})
  
      # Start and run the training loop
      with experiment.start():
          configs.run()
  
imports: from typing import List
  import torch
  import torch.utils.data
  import torchvision
  from PIL import Image
  from labml import lab, tracker, experiment, monit
  from labml.configs import BaseConfigs, option
  from labml_helpers.device import DeviceConfigs
  from labml_nn.diffusion.ddpm import DenoiseDiffusion
  from labml_nn.diffusion.ddpm.unet import UNet
label_desc: Use image node_id 3 for calling a global function with example usage: main() without return types