code: def __init__(self, config):
      super(FusionGeneratorSimple, self).__init__()
      name = config["module_name"]
      encode_dim = config["encode_dim"]
      norm_layer = config["norm_layer"]
      conv_block_dropout = config["conv_block_dropout"]
      conv_block_dilation = config["conv_block_dilation"]
      if norm_layer == "InstanceNorm2D":
          use_bias = True
      else:
          use_bias = False
  
      self._conv = nn.Conv2D(
          in_channels=6,
          out_channels=encode_dim,
          kernel_size=3,
          stride=1,
          padding=1,
          groups=1,
          weight_attr=paddle.ParamAttr(name=name + "_conv_weights"),
          bias_attr=False,
      )
  
      self._res_block = ResBlock(
          name="{}_conv_block".format(name),
          channels=encode_dim,
          norm_layer=norm_layer,
          use_dropout=conv_block_dropout,
          use_dilation=conv_block_dilation,
          use_bias=use_bias,
      )
  
      self._reduce_conv = nn.Conv2D(
          in_channels=encode_dim,
          out_channels=3,
          kernel_size=3,
          stride=1,
          padding=1,
          groups=1,
          weight_attr=paddle.ParamAttr(
              name=name + "_reduce_conv_weights"
          ),
          bias_attr=False,
      )
  
imports: import paddle
  import paddle.nn
  from arch.base_module import MiddleNet, ResBlock
  from arch.encoder import Encoder
  from arch.decoder import Decoder, DecoderUnet, SingleDecoder
  from utils.load_params import load_dygraph_pretrain
  from utils.logging import get_logger
label_desc: Use image node_id 1 to create a new FusionGeneratorSimple object from inherited base classes: nn with example: obj = FusionGeneratorSimple(config)