EncoderDecoder(
  13.419 M, 100.000% Params, 59.379 GFLOPs, 100.000% FLOPs, 
  (backbone): BiSeNetV1(
    12.68 M, 94.494% Params, 49.695 GFLOPs, 83.690% FLOPs, 
    (context_path): ContextPath(
      12.456 M, 92.825% Params, 42.911 GFLOPs, 72.267% FLOPs, 
      (backbone): ResNet(
        11.177 M, 83.288% Params, 38.069 GFLOPs, 64.111% FLOPs, 
        (conv1): Conv2d(0.009 M, 0.070% Params, 2.466 GFLOPs, 4.153% FLOPs, 3, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False)
        (bn1): BatchNorm2d(0.0 M, 0.001% Params, 0.034 GFLOPs, 0.057% FLOPs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (relu): ReLU(0.0 M, 0.000% Params, 0.017 GFLOPs, 0.028% FLOPs, inplace=True)
        (maxpool): MaxPool2d(0.0 M, 0.000% Params, 0.017 GFLOPs, 0.028% FLOPs, kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
        (layer1): ResLayer(
          0.148 M, 1.103% Params, 9.714 GFLOPs, 16.359% FLOPs, 
          (0): BasicBlock(
            0.074 M, 0.551% Params, 4.857 GFLOPs, 8.180% FLOPs, 
            (conv1): Conv2d(0.037 M, 0.275% Params, 2.416 GFLOPs, 4.069% FLOPs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
            (bn1): BatchNorm2d(0.0 M, 0.001% Params, 0.008 GFLOPs, 0.014% FLOPs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            (conv2): Conv2d(0.037 M, 0.275% Params, 2.416 GFLOPs, 4.069% FLOPs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
            (bn2): BatchNorm2d(0.0 M, 0.001% Params, 0.008 GFLOPs, 0.014% FLOPs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            (relu): ReLU(0.0 M, 0.000% Params, 0.008 GFLOPs, 0.014% FLOPs, inplace=True)
          )
          init_cfg={'type': 'Constant', 'val': 0, 'override': {'name': 'norm2'}}
          (1): BasicBlock(
            0.074 M, 0.551% Params, 4.857 GFLOPs, 8.180% FLOPs, 
            (conv1): Conv2d(0.037 M, 0.275% Params, 2.416 GFLOPs, 4.069% FLOPs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
            (bn1): BatchNorm2d(0.0 M, 0.001% Params, 0.008 GFLOPs, 0.014% FLOPs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            (conv2): Conv2d(0.037 M, 0.275% Params, 2.416 GFLOPs, 4.069% FLOPs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
            (bn2): BatchNorm2d(0.0 M, 0.001% Params, 0.008 GFLOPs, 0.014% FLOPs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            (relu): ReLU(0.0 M, 0.000% Params, 0.008 GFLOPs, 0.014% FLOPs, inplace=True)
          )
          init_cfg={'type': 'Constant', 'val': 0, 'override': {'name': 'norm2'}}
        )
        (layer2): ResLayer(
          0.526 M, 3.917% Params, 8.619 GFLOPs, 14.516% FLOPs, 
          (0): BasicBlock(
            0.23 M, 1.715% Params, 3.775 GFLOPs, 6.357% FLOPs, 
            (conv1): Conv2d(0.074 M, 0.549% Params, 1.208 GFLOPs, 2.034% FLOPs, 64, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
            (bn1): BatchNorm2d(0.0 M, 0.002% Params, 0.004 GFLOPs, 0.007% FLOPs, 128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            (conv2): Conv2d(0.147 M, 1.099% Params, 2.416 GFLOPs, 4.069% FLOPs, 128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
            (bn2): BatchNorm2d(0.0 M, 0.002% Params, 0.004 GFLOPs, 0.007% FLOPs, 128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            (relu): ReLU(0.0 M, 0.000% Params, 0.004 GFLOPs, 0.007% FLOPs, inplace=True)
            (downsample): Sequential(
              0.008 M, 0.063% Params, 0.138 GFLOPs, 0.233% FLOPs, 
              (0): Conv2d(0.008 M, 0.061% Params, 0.134 GFLOPs, 0.226% FLOPs, 64, 128, kernel_size=(1, 1), stride=(2, 2), bias=False)
              (1): BatchNorm2d(0.0 M, 0.002% Params, 0.004 GFLOPs, 0.007% FLOPs, 128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
          init_cfg={'type': 'Constant', 'val': 0, 'override': {'name': 'norm2'}}
          (1): BasicBlock(
            0.295 M, 2.202% Params, 4.844 GFLOPs, 8.158% FLOPs, 
            (conv1): Conv2d(0.147 M, 1.099% Params, 2.416 GFLOPs, 4.069% FLOPs, 128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
            (bn1): BatchNorm2d(0.0 M, 0.002% Params, 0.004 GFLOPs, 0.007% FLOPs, 128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            (conv2): Conv2d(0.147 M, 1.099% Params, 2.416 GFLOPs, 4.069% FLOPs, 128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
            (bn2): BatchNorm2d(0.0 M, 0.002% Params, 0.004 GFLOPs, 0.007% FLOPs, 128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            (relu): ReLU(0.0 M, 0.000% Params, 0.004 GFLOPs, 0.007% FLOPs, inplace=True)
          )
          init_cfg={'type': 'Constant', 'val': 0, 'override': {'name': 'norm2'}}
        )
        (layer3): ResLayer(
          2.1 M, 15.647% Params, 8.605 GFLOPs, 14.491% FLOPs, 
          (0): BasicBlock(
            0.919 M, 6.849% Params, 3.766 GFLOPs, 6.343% FLOPs, 
            (conv1): Conv2d(0.295 M, 2.198% Params, 1.208 GFLOPs, 2.034% FLOPs, 128, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
            (bn1): BatchNorm2d(0.001 M, 0.004% Params, 0.002 GFLOPs, 0.004% FLOPs, 256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            (conv2): Conv2d(0.59 M, 4.395% Params, 2.416 GFLOPs, 4.069% FLOPs, 256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
            (bn2): BatchNorm2d(0.001 M, 0.004% Params, 0.002 GFLOPs, 0.004% FLOPs, 256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            (relu): ReLU(0.0 M, 0.000% Params, 0.002 GFLOPs, 0.004% FLOPs, inplace=True)
            (downsample): Sequential(
              0.033 M, 0.248% Params, 0.136 GFLOPs, 0.230% FLOPs, 
              (0): Conv2d(0.033 M, 0.244% Params, 0.134 GFLOPs, 0.226% FLOPs, 128, 256, kernel_size=(1, 1), stride=(2, 2), bias=False)
              (1): BatchNorm2d(0.001 M, 0.004% Params, 0.002 GFLOPs, 0.004% FLOPs, 256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
          init_cfg={'type': 'Constant', 'val': 0, 'override': {'name': 'norm2'}}
          (1): BasicBlock(
            1.181 M, 8.798% Params, 4.838 GFLOPs, 8.148% FLOPs, 
            (conv1): Conv2d(0.59 M, 4.395% Params, 2.416 GFLOPs, 4.069% FLOPs, 256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
            (bn1): BatchNorm2d(0.001 M, 0.004% Params, 0.002 GFLOPs, 0.004% FLOPs, 256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            (conv2): Conv2d(0.59 M, 4.395% Params, 2.416 GFLOPs, 4.069% FLOPs, 256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
            (bn2): BatchNorm2d(0.001 M, 0.004% Params, 0.002 GFLOPs, 0.004% FLOPs, 256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            (relu): ReLU(0.0 M, 0.000% Params, 0.002 GFLOPs, 0.004% FLOPs, inplace=True)
          )
          init_cfg={'type': 'Constant', 'val': 0, 'override': {'name': 'norm2'}}
        )
        (layer4): ResLayer(
          8.394 M, 62.550% Params, 8.597 GFLOPs, 14.479% FLOPs, 
          (0): BasicBlock(
            3.673 M, 27.372% Params, 3.762 GFLOPs, 6.336% FLOPs, 
            (conv1): Conv2d(1.18 M, 8.791% Params, 1.208 GFLOPs, 2.034% FLOPs, 256, 512, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
            (bn1): BatchNorm2d(0.001 M, 0.008% Params, 0.001 GFLOPs, 0.002% FLOPs, 512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            (conv2): Conv2d(2.359 M, 17.582% Params, 2.416 GFLOPs, 4.069% FLOPs, 512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
            (bn2): BatchNorm2d(0.001 M, 0.008% Params, 0.001 GFLOPs, 0.002% FLOPs, 512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            (relu): ReLU(0.0 M, 0.000% Params, 0.001 GFLOPs, 0.002% FLOPs, inplace=True)
            (downsample): Sequential(
              0.132 M, 0.984% Params, 0.135 GFLOPs, 0.228% FLOPs, 
              (0): Conv2d(0.131 M, 0.977% Params, 0.134 GFLOPs, 0.226% FLOPs, 256, 512, kernel_size=(1, 1), stride=(2, 2), bias=False)
              (1): BatchNorm2d(0.001 M, 0.008% Params, 0.001 GFLOPs, 0.002% FLOPs, 512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
          init_cfg={'type': 'Constant', 'val': 0, 'override': {'name': 'norm2'}}
          (1): BasicBlock(
            4.721 M, 35.178% Params, 4.835 GFLOPs, 8.143% FLOPs, 
            (conv1): Conv2d(2.359 M, 17.582% Params, 2.416 GFLOPs, 4.069% FLOPs, 512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
            (bn1): BatchNorm2d(0.001 M, 0.008% Params, 0.001 GFLOPs, 0.002% FLOPs, 512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            (conv2): Conv2d(2.359 M, 17.582% Params, 2.416 GFLOPs, 4.069% FLOPs, 512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
            (bn2): BatchNorm2d(0.001 M, 0.008% Params, 0.001 GFLOPs, 0.002% FLOPs, 512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            (relu): ReLU(0.0 M, 0.000% Params, 0.001 GFLOPs, 0.002% FLOPs, inplace=True)
          )
          init_cfg={'type': 'Constant', 'val': 0, 'override': {'name': 'norm2'}}
        )
      )
      init_cfg=[{'type': 'Kaiming', 'layer': 'Conv2d'}, {'type': 'Constant', 'val': 1, 'layer': ['_BatchNorm', 'GroupNorm']}]
      (arm16): AttentionRefinementModule(
        0.312 M, 2.324% Params, 1.21 GFLOPs, 2.038% FLOPs, 
        (conv_layer): ConvModule(
          0.295 M, 2.200% Params, 1.21 GFLOPs, 2.037% FLOPs, 
          (conv): Conv2d(0.295 M, 2.198% Params, 1.208 GFLOPs, 2.034% FLOPs, 256, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
          (bn): BatchNorm2d(0.0 M, 0.002% Params, 0.001 GFLOPs, 0.002% FLOPs, 128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (activate): ReLU(0.0 M, 0.000% Params, 0.001 GFLOPs, 0.001% FLOPs, inplace=True)
        )
        (atten_conv_layer): Sequential(
          0.017 M, 0.124% Params, 0.001 GFLOPs, 0.001% FLOPs, 
          (0): AdaptiveAvgPool2d(0.0 M, 0.000% Params, 0.001 GFLOPs, 0.001% FLOPs, output_size=(1, 1))
          (1): ConvModule(
            0.017 M, 0.124% Params, 0.0 GFLOPs, 0.000% FLOPs, 
            (conv): Conv2d(0.016 M, 0.122% Params, 0.0 GFLOPs, 0.000% FLOPs, 128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
            (bn): BatchNorm2d(0.0 M, 0.002% Params, 0.0 GFLOPs, 0.000% FLOPs, 128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (2): Sigmoid(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, )
        )
      )
      (arm32): AttentionRefinementModule(
        0.607 M, 4.521% Params, 0.605 GFLOPs, 1.018% FLOPs, 
        (conv_layer): ConvModule(
          0.59 M, 4.397% Params, 0.604 GFLOPs, 1.018% FLOPs, 
          (conv): Conv2d(0.59 M, 4.395% Params, 0.604 GFLOPs, 1.017% FLOPs, 512, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
          (bn): BatchNorm2d(0.0 M, 0.002% Params, 0.0 GFLOPs, 0.000% FLOPs, 128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (activate): ReLU(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, inplace=True)
        )
        (atten_conv_layer): Sequential(
          0.017 M, 0.124% Params, 0.0 GFLOPs, 0.000% FLOPs, 
          (0): AdaptiveAvgPool2d(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, output_size=(1, 1))
          (1): ConvModule(
            0.017 M, 0.124% Params, 0.0 GFLOPs, 0.000% FLOPs, 
            (conv): Conv2d(0.016 M, 0.122% Params, 0.0 GFLOPs, 0.000% FLOPs, 128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
            (bn): BatchNorm2d(0.0 M, 0.002% Params, 0.0 GFLOPs, 0.000% FLOPs, 128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (2): Sigmoid(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, )
        )
      )
      (conv_head32): ConvModule(
        0.148 M, 1.101% Params, 0.606 GFLOPs, 1.020% FLOPs, 
        (conv): Conv2d(0.147 M, 1.099% Params, 0.604 GFLOPs, 1.017% FLOPs, 128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
        (bn): BatchNorm2d(0.0 M, 0.002% Params, 0.001 GFLOPs, 0.002% FLOPs, 128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (activate): ReLU(0.0 M, 0.000% Params, 0.001 GFLOPs, 0.001% FLOPs, inplace=True)
      )
      (conv_head16): ConvModule(
        0.148 M, 1.101% Params, 2.422 GFLOPs, 4.079% FLOPs, 
        (conv): Conv2d(0.147 M, 1.099% Params, 2.416 GFLOPs, 4.069% FLOPs, 128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
        (bn): BatchNorm2d(0.0 M, 0.002% Params, 0.004 GFLOPs, 0.007% FLOPs, 128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (activate): ReLU(0.0 M, 0.000% Params, 0.002 GFLOPs, 0.004% FLOPs, inplace=True)
      )
      (gap_conv): Sequential(
        0.066 M, 0.490% Params, 0.001 GFLOPs, 0.001% FLOPs, 
        (0): AdaptiveAvgPool2d(0.0 M, 0.000% Params, 0.001 GFLOPs, 0.001% FLOPs, output_size=(1, 1))
        (1): ConvModule(
          0.066 M, 0.490% Params, 0.0 GFLOPs, 0.000% FLOPs, 
          (conv): Conv2d(0.066 M, 0.488% Params, 0.0 GFLOPs, 0.000% FLOPs, 512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
          (bn): BatchNorm2d(0.0 M, 0.002% Params, 0.0 GFLOPs, 0.000% FLOPs, 128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (activate): ReLU(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, inplace=True)
        )
      )
    )
    (spatial_path): SpatialPath(
      0.092 M, 0.685% Params, 5.693 GFLOPs, 9.587% FLOPs, 
      (layer1): ConvModule(
        0.01 M, 0.071% Params, 2.517 GFLOPs, 4.238% FLOPs, 
        (conv): Conv2d(0.009 M, 0.070% Params, 2.466 GFLOPs, 4.153% FLOPs, 3, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False)
        (bn): BatchNorm2d(0.0 M, 0.001% Params, 0.034 GFLOPs, 0.057% FLOPs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (activate): ReLU(0.0 M, 0.000% Params, 0.017 GFLOPs, 0.028% FLOPs, inplace=True)
      )
      (layer2): ConvModule(
        0.037 M, 0.276% Params, 2.429 GFLOPs, 4.090% FLOPs, 
        (conv): Conv2d(0.037 M, 0.275% Params, 2.416 GFLOPs, 4.069% FLOPs, 64, 64, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
        (bn): BatchNorm2d(0.0 M, 0.001% Params, 0.008 GFLOPs, 0.014% FLOPs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (activate): ReLU(0.0 M, 0.000% Params, 0.004 GFLOPs, 0.007% FLOPs, inplace=True)
      )
      (layer3): ConvModule(
        0.037 M, 0.276% Params, 0.607 GFLOPs, 1.022% FLOPs, 
        (conv): Conv2d(0.037 M, 0.275% Params, 0.604 GFLOPs, 1.017% FLOPs, 64, 64, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
        (bn): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GFLOPs, 0.004% FLOPs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (activate): ReLU(0.0 M, 0.000% Params, 0.001 GFLOPs, 0.002% FLOPs, inplace=True)
      )
      (layer4): ConvModule(
        0.008 M, 0.063% Params, 0.141 GFLOPs, 0.237% FLOPs, 
        (conv): Conv2d(0.008 M, 0.061% Params, 0.134 GFLOPs, 0.226% FLOPs, 64, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
        (bn): BatchNorm2d(0.0 M, 0.002% Params, 0.004 GFLOPs, 0.007% FLOPs, 128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (activate): ReLU(0.0 M, 0.000% Params, 0.002 GFLOPs, 0.004% FLOPs, inplace=True)
      )
    )
    (ffm): FeatureFusionModule(
      0.132 M, 0.984% Params, 1.091 GFLOPs, 1.837% FLOPs, 
      (conv1): ConvModule(
        0.066 M, 0.492% Params, 1.086 GFLOPs, 1.829% FLOPs, 
        (conv): Conv2d(0.066 M, 0.488% Params, 1.074 GFLOPs, 1.808% FLOPs, 256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
        (bn): BatchNorm2d(0.001 M, 0.004% Params, 0.008 GFLOPs, 0.014% FLOPs, 256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (activate): ReLU(0.0 M, 0.000% Params, 0.004 GFLOPs, 0.007% FLOPs, inplace=True)
      )
      (gap): AdaptiveAvgPool2d(0.0 M, 0.000% Params, 0.004 GFLOPs, 0.007% FLOPs, output_size=(1, 1))
      (conv_atten): Sequential(
        0.066 M, 0.492% Params, 0.0 GFLOPs, 0.000% FLOPs, 
        (0): ConvModule(
          0.066 M, 0.492% Params, 0.0 GFLOPs, 0.000% FLOPs, 
          (conv): Conv2d(0.066 M, 0.488% Params, 0.0 GFLOPs, 0.000% FLOPs, 256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
          (bn): BatchNorm2d(0.001 M, 0.004% Params, 0.0 GFLOPs, 0.000% FLOPs, 256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (activate): ReLU(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, inplace=True)
        )
        (1): Sigmoid(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, )
      )
    )
  )
  (decode_head): FCNHead(
    0.591 M, 4.403% Params, 9.685 GFLOPs, 16.310% FLOPs, input_transform=None, ignore_index=255, align_corners=False
    (loss_decode): ModuleList(
      0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, 
      (0): CrossEntropyLoss(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, avg_non_ignore=False)
    )
    (conv_seg): Conv2d(0.001 M, 0.004% Params, 0.008 GFLOPs, 0.014% FLOPs, 256, 2, kernel_size=(1, 1), stride=(1, 1))
    (dropout): Dropout2d(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, p=0.1, inplace=False)
    (convs): Sequential(
      0.59 M, 4.399% Params, 9.676 GFLOPs, 16.296% FLOPs, 
      (0): ConvModule(
        0.59 M, 4.399% Params, 9.676 GFLOPs, 16.296% FLOPs, 
        (conv): Conv2d(0.59 M, 4.395% Params, 9.664 GFLOPs, 16.274% FLOPs, 256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
        (bn): BatchNorm2d(0.001 M, 0.004% Params, 0.008 GFLOPs, 0.014% FLOPs, 256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (activate): ReLU(0.0 M, 0.000% Params, 0.004 GFLOPs, 0.007% FLOPs, inplace=True)
      )
    )
  )
  init_cfg={'type': 'Normal', 'std': 0.01, 'override': {'name': 'conv_seg'}}
  (auxiliary_head): ModuleList(
    0.148 M, 1.103% Params, 0.0 GFLOPs, 0.000% FLOPs, 
    (0): FCNHead(
      0.074 M, 0.551% Params, 0.0 GFLOPs, 0.000% FLOPs, input_transform=None, ignore_index=255, align_corners=False
      (loss_decode): ModuleList(
        0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, 
        (0): CrossEntropyLoss(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, avg_non_ignore=False)
      )
      (conv_seg): Conv2d(0.0 M, 0.001% Params, 0.0 GFLOPs, 0.000% FLOPs, 64, 2, kernel_size=(1, 1), stride=(1, 1))
      (dropout): Dropout2d(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, p=0.1, inplace=False)
      (convs): Sequential(
        0.074 M, 0.550% Params, 0.0 GFLOPs, 0.000% FLOPs, 
        (0): ConvModule(
          0.074 M, 0.550% Params, 0.0 GFLOPs, 0.000% FLOPs, 
          (conv): Conv2d(0.074 M, 0.549% Params, 0.0 GFLOPs, 0.000% FLOPs, 128, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
          (bn): BatchNorm2d(0.0 M, 0.001% Params, 0.0 GFLOPs, 0.000% FLOPs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (activate): ReLU(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, inplace=True)
        )
      )
    )
    init_cfg={'type': 'Normal', 'std': 0.01, 'override': {'name': 'conv_seg'}}
    (1): FCNHead(
      0.074 M, 0.551% Params, 0.0 GFLOPs, 0.000% FLOPs, input_transform=None, ignore_index=255, align_corners=False
      (loss_decode): ModuleList(
        0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, 
        (0): CrossEntropyLoss(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, avg_non_ignore=False)
      )
      (conv_seg): Conv2d(0.0 M, 0.001% Params, 0.0 GFLOPs, 0.000% FLOPs, 64, 2, kernel_size=(1, 1), stride=(1, 1))
      (dropout): Dropout2d(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, p=0.1, inplace=False)
      (convs): Sequential(
        0.074 M, 0.550% Params, 0.0 GFLOPs, 0.000% FLOPs, 
        (0): ConvModule(
          0.074 M, 0.550% Params, 0.0 GFLOPs, 0.000% FLOPs, 
          (conv): Conv2d(0.074 M, 0.549% Params, 0.0 GFLOPs, 0.000% FLOPs, 128, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
          (bn): BatchNorm2d(0.0 M, 0.001% Params, 0.0 GFLOPs, 0.000% FLOPs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (activate): ReLU(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, inplace=True)
        )
      )
    )
    init_cfg={'type': 'Normal', 'std': 0.01, 'override': {'name': 'conv_seg'}}
  )
)
==============================
Input shape: (3, 2048, 512)
Flops: 59.38 GFLOPs
Params: 13.42 M
==============================
!!!Please be cautious if you use the results in papers. You may need to check if all ops are supported and verify that the flops computation is correct.
