code: def main():
      """Generate samples"""
  
      # Training experiment run UUID
      run_uuid = "a44333ea251411ec8007d1a1762ed686"
  
      # Start an evaluation
      experiment.evaluate()
  
      # Create configs
      configs = Configs()
      # Load custom configuration of the training run
      configs_dict = experiment.load_configs(run_uuid)
      # Set configurations
      experiment.configs(configs, configs_dict)
  
      # Initialize
      configs.init()
  
      # Set PyTorch modules for saving and loading
      experiment.add_pytorch_models({"eps_model": configs.eps_model})
  
      # Load training experiment
      experiment.load(run_uuid)
  
      # Create sampler
      sampler = Sampler(
          diffusion=configs.diffusion,
          image_channels=configs.image_channels,
          image_size=configs.image_size,
          device=configs.device,
      )
  
      # Start evaluation
      with experiment.start():
          # No gradients
          with torch.no_grad():
              # Sample an image with an denoising animation
              sampler.sample_animation()
  
              if False:
                  # Get some images fro data
                  data = next(iter(configs.data_loader)).to(
                      configs.device
                  )
  
                  # Create an interpolation animation
                  sampler.interpolate_animate(data[0], data[1])
  
file_path: annotated_deep_learning_paper_implementations/labml_nn/diffusion/ddpm/evaluate.py
imports: import numpy
  import torch
  from matplotlib import pyplot
  from torchvision.transforms.functional import to_pil_image, resize
  from labml import experiment, monit
  from labml_nn.diffusion.ddpm import DenoiseDiffusion, gather
  from labml_nn.diffusion.ddpm.experiment import Configs
label_desc: Use image node_id 1 for calling a global function with example usage: main() without return types