code: def _generate_gaussian_kernel(sigma, channels, kernel_size=None):
      if kernel_size is None:
          kernel_size = _round_to_odd(2 * 2 * sigma)
  
      vecx = torch.arange(kernel_size).float()
      vecy = torch.arange(kernel_size).float()
      gridxy = _meshgrid(vecx, vecy)
      mean = (kernel_size - 1) / 2.0
      var = sigma**2
  
      gaussian_kernel = (
          1.0
          / (2.0 * math.pi * var)
          * torch.exp(-(gridxy - mean).pow(2).sum(dim=0) / (2 * var))
      )
  
      gaussian_kernel /= torch.sum(gaussian_kernel)
  
      gaussian_kernel = gaussian_kernel.repeat(channels, 1, 1, 1)
  
      return gaussian_kernel
  
imports: import math
  import torch
  import torch.nn
  import torch.nn.functional
  from torch.nn.modules.utils import _quadruple
  from .base import Processor
label_desc: Use image node_id 2 for calling a global function with example usage: _generate_gaussian_kernel(sigma, channels, kernel_size) and returns: gaussian_kernel