class_docstr: The multi-channel version of the 2D FCN module.
  Adds a projection layer to take arbitrary number of inputs.
  
  Args:
      in_channels: number of input channels. Defaults to 3.
      out_channels: number of output channels. Defaults to 1.
      upsample_mode: [``"transpose"``, ``"bilinear"``]
          The mode of upsampling manipulations.
          Using the second mode cannot guarantee the model's reproducibility. Defaults to ``bilinear``.
  
          - ``transpose``, uses transposed convolution layers.
          - ``bilinear``, uses bilinear interpolate.
      pretrained: If True, returns a model pre-trained on ImageNet
      progress: If True, displays a progress bar of the download to stderr.
class_docstr_tok: ["The","multi-channel","version","of","the","2D","FCN","module",".","Adds","a","projection","layer","to","take","arbitrary","number","of","inputs",".","Args",":","in_channels",":","number","of","input","channels",".","Defaults","to","3.","out_channels",":","number","of","output","channels",".","Defaults","to","1.","upsample_mode",":","[","``","``","transpose","''","``",",","``","``","bilinear","''","``","]","The","mode","of","upsampling","manipulations",".","Using","the","second","mode","can","not","guarantee","the","model","'s","reproducibility",".","Defaults","to","``","bilinear","``",".","-","``","transpose","``",",","uses","transposed","convolution","layers",".","-","``","bilinear","``",",","uses","bilinear","interpolate",".","pretrained",":","If","True",",","returns","a","model","pre-trained","on","ImageNet","progress",":","If","True",",","displays","a","progress","bar","of","the","download","to","stderr","."]
code: def __init__(
      self,
      in_channels: int = 3,
      out_channels: int = 1,
      upsample_mode: str = "bilinear",
      pretrained: bool = True,
      progress: bool = True,
  ):
      super().__init__(
          out_channels=out_channels,
          upsample_mode=upsample_mode,
          pretrained=pretrained,
          progress=progress,
      )
  
      self.init_proj = Convolution(
          spatial_dims=2,
          in_channels=in_channels,
          out_channels=3,
          kernel_size=1,
          act=("relu", {"inplace": True}),
          norm=Norm.BATCH,
          bias=False,
      )
  
imports: from __future__ import annotations
  import torch
  import torch.nn
  import torch.nn.functional
  from monai.networks.blocks.convolutions import Convolution
  from monai.networks.blocks.upsample import UpSample
  from monai.networks.layers.factories import Act, Conv, Norm
  from monai.utils import optional_import
label_desc: Use image node_id 1 to create a new MCFCN object from inherited base classes: FCN with example: obj = MCFCN(in_channels, out_channels, upsample_mode, pretrained, progress)