code: def make_gaussian_kernel(
      kernel_size: int, sigma: float
  ) -> torch.Tensor:
      """Function to create a 2D Gaussian kernel."""
  
      x = torch.arange(kernel_size, dtype=torch.float32)
      y = torch.arange(kernel_size, dtype=torch.float32)
      x = x - (kernel_size - 1) / 2
      y = y - (kernel_size - 1) / 2
      x, y = torch.meshgrid(x, y)
      grid = (x**2 + y**2) / (2 * sigma**2)
      kernel = torch.exp(-grid)
      kernel = kernel / kernel.sum()
      return kernel
  
imports: from typing import List, Optional
  import torch
  from torch import nn, Tensor
  from torch.nn import functional
  from torchvision.prototype.models.depth.stereo.raft_stereo import grid_sample, make_coords_grid
label_desc: Use image node_id 1 for calling a global function with example usage: make_gaussian_kernel(kernel_size, sigma) and returns: kernel