code: def _gaussian(window_size: int, sigma):
      if isinstance(sigma, float):
          sigma = torch.tensor([[sigma]])
  
      batch_size = sigma.shape[0]
  
      x = (
          torch.arange(
              window_size, device=sigma.device, dtype=sigma.dtype
          )
          - window_size // 2
      ).expand(batch_size, -1)
  
      if window_size % 2 == 0:
          x = x + 0.5
  
      gauss = torch.exp(-x.pow(2.0) / (2 * sigma.pow(2.0)))
  
      return gauss / gauss.sum(-1, keepdim=True)
  
imports: import inspect
  from dataclasses import dataclass
  from typing import Callable, Dict, List, Optional, Union
  import numpy
  import PIL.Image
  import torch
  from transformers import CLIPImageProcessor, CLIPVisionModelWithProjection
  from ...image_processor import VaeImageProcessor
  from ...models import AutoencoderKLTemporalDecoder, UNetSpatioTemporalConditionModel
  from ...schedulers import EulerDiscreteScheduler
  from ...utils import BaseOutput, logging
  from ...utils.torch_utils import is_compiled_module, randn_tensor
  from ..pipeline_utils import DiffusionPipeline
label_desc: Use image node_id 6 for calling a global function with example usage: _gaussian(window_size, sigma) and returns: unknown