code: def make_n_channel_input(
      conv: nn.Module, in_channels: int, mode="auto", **kwargs
  ) -> nn.Module:
      """
      Create convolution block with same parameters and desired number of channels.
  
      Args:
          conv: Input nn.Conv2D object to copy settings/weights from
          in_channels: Desired number of input channels
          mode:
          **kwargs: Optional overrides for Conv2D parameters
      """
      if isinstance(conv, (nn.Conv1d, nn.Conv2d, nn.Conv3d)):
          return make_n_channel_input_conv(
              conv, in_channels=in_channels, mode=mode, **kwargs
          )
  
      raise ValueError(f"Unsupported class {conv.__class__.__name__}")
  
imports: import math
  import warnings
  from typing import List, Union, Tuple, Iterable, Any
  import torch
  from torch import nn, Tensor
  from pytorch_toolbelt.utils.support import pytorch_toolbelt_deprecated
  from pytorch_toolbelt.modules.interfaces import HasOutputFeaturesSpecification, FeatureMapsSpecification, AbstractEncoder
label_desc: Use image node_id 5 for calling a global function with example usage: make_n_channel_input(conv, in_channels, mode) and returns: make_n_channel_input_conv