code: def conv_nd(dims, *args, **kwargs):
      """
      Create a 1D, 2D, or 3D convolution module.
  
      Arguments
      ---------
      dims: int
          The number of dimensions
  
      Any remaining arguments are passed to the constructor
      """
      if dims == 1:
          return nn.Conv1d(*args, **kwargs)
      elif dims == 2:
          return nn.Conv2d(*args, **kwargs)
      elif dims == 3:
          return nn.Conv3d(*args, **kwargs)
      raise ValueError(f"unsupported dimensions: {dims}")
  
imports: from abc import abstractmethod
  from speechbrain.utils.data_utils import pad_divisible
  from .autoencoders import NormalizingAutoencoder
  import math
  import torch
  import torch.nn
  import torch.nn.functional
label_desc: Use image node_id 2 for calling a global function with example usage: conv_nd(dims) and returns: nn, nn, nn