EncoderDecoder(
  8.566 M, 100.000% Params, 8.458 GFLOPs, 100.000% FLOPs, 
  (backbone): STDCContextPathNet(
    7.68 M, 89.651% Params, 6.037 GFLOPs, 71.374% FLOPs, 
    (backbone): STDCNet(
      5.318 M, 62.083% Params, 3.966 GFLOPs, 46.893% FLOPs, 
      (stages): ModuleList(
        5.318 M, 62.083% Params, 3.966 GFLOPs, 46.893% FLOPs, 
        (0): ConvModule(
          0.001 M, 0.011% Params, 0.063 GFLOPs, 0.744% FLOPs, 
          (conv): Conv2d(0.001 M, 0.010% Params, 0.057 GFLOPs, 0.669% FLOPs, 3, 32, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
          (bn): BatchNorm2d(0.0 M, 0.001% Params, 0.004 GFLOPs, 0.050% FLOPs, 32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (activate): ReLU(0.0 M, 0.000% Params, 0.002 GFLOPs, 0.025% FLOPs, inplace=True)
        )
        (1): ConvModule(
          0.019 M, 0.217% Params, 0.305 GFLOPs, 3.608% FLOPs, 
          (conv): Conv2d(0.018 M, 0.215% Params, 0.302 GFLOPs, 3.570% FLOPs, 32, 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.025% 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.012% FLOPs, inplace=True)
        )
        (2): Sequential(
          0.246 M, 2.873% Params, 1.118 GFLOPs, 13.216% FLOPs, 
          (0): STDCModule(
            0.111 M, 1.301% Params, 0.565 GFLOPs, 6.682% FLOPs, 
            (layers): ModuleList(
              0.11 M, 1.285% Params, 0.557 GFLOPs, 6.589% FLOPs, 
              (0): ConvModule(
                0.008 M, 0.099% Params, 0.141 GFLOPs, 1.661% FLOPs, 
                (conv): Conv2d(0.008 M, 0.096% Params, 0.134 GFLOPs, 1.587% FLOPs, 64, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
                (bn): BatchNorm2d(0.0 M, 0.003% Params, 0.004 GFLOPs, 0.050% 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.025% FLOPs, inplace=True)
              )
              (1): ConvModule(
                0.074 M, 0.862% Params, 0.303 GFLOPs, 3.580% FLOPs, 
                (conv): Conv2d(0.074 M, 0.861% Params, 0.302 GFLOPs, 3.570% FLOPs, 128, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
                (bn): BatchNorm2d(0.0 M, 0.001% Params, 0.001 GFLOPs, 0.006% 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.003% FLOPs, inplace=True)
              )
              (2): ConvModule(
                0.018 M, 0.216% Params, 0.076 GFLOPs, 0.897% FLOPs, 
                (conv): Conv2d(0.018 M, 0.215% Params, 0.075 GFLOPs, 0.893% FLOPs, 64, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
                (bn): BatchNorm2d(0.0 M, 0.001% Params, 0.0 GFLOPs, 0.003% FLOPs, 32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
                (activate): ReLU(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.002% FLOPs, inplace=True)
              )
              (3): ConvModule(
                0.009 M, 0.108% Params, 0.038 GFLOPs, 0.451% FLOPs, 
                (conv): Conv2d(0.009 M, 0.108% Params, 0.038 GFLOPs, 0.446% FLOPs, 32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
                (bn): BatchNorm2d(0.0 M, 0.001% Params, 0.0 GFLOPs, 0.003% FLOPs, 32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
                (activate): ReLU(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.002% FLOPs, inplace=True)
              )
            )
            (downsample): ConvModule(
              0.001 M, 0.016% Params, 0.006 GFLOPs, 0.068% FLOPs, 
              (conv): Conv2d(0.001 M, 0.013% Params, 0.005 GFLOPs, 0.056% FLOPs, 128, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), groups=128, bias=False)
              (bn): BatchNorm2d(0.0 M, 0.003% Params, 0.001 GFLOPs, 0.012% FLOPs, 128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (skip): AvgPool2d(0.0 M, 0.000% Params, 0.002 GFLOPs, 0.025% FLOPs, kernel_size=3, stride=2, padding=1)
          )
          (1): STDCModule(
            0.135 M, 1.572% Params, 0.553 GFLOPs, 6.533% FLOPs, 
            (layers): ModuleList(
              0.135 M, 1.572% Params, 0.553 GFLOPs, 6.533% FLOPs, 
              (0): ConvModule(
                0.033 M, 0.386% Params, 0.136 GFLOPs, 1.605% FLOPs, 
                (conv): Conv2d(0.033 M, 0.383% Params, 0.134 GFLOPs, 1.587% FLOPs, 256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
                (bn): BatchNorm2d(0.0 M, 0.003% Params, 0.001 GFLOPs, 0.012% 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.006% FLOPs, inplace=True)
              )
              (1): ConvModule(
                0.074 M, 0.862% Params, 0.303 GFLOPs, 3.580% FLOPs, 
                (conv): Conv2d(0.074 M, 0.861% Params, 0.302 GFLOPs, 3.570% FLOPs, 128, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
                (bn): BatchNorm2d(0.0 M, 0.001% Params, 0.001 GFLOPs, 0.006% 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.003% FLOPs, inplace=True)
              )
              (2): ConvModule(
                0.018 M, 0.216% Params, 0.076 GFLOPs, 0.897% FLOPs, 
                (conv): Conv2d(0.018 M, 0.215% Params, 0.075 GFLOPs, 0.893% FLOPs, 64, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
                (bn): BatchNorm2d(0.0 M, 0.001% Params, 0.0 GFLOPs, 0.003% FLOPs, 32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
                (activate): ReLU(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.002% FLOPs, inplace=True)
              )
              (3): ConvModule(
                0.009 M, 0.108% Params, 0.038 GFLOPs, 0.451% FLOPs, 
                (conv): Conv2d(0.009 M, 0.108% Params, 0.038 GFLOPs, 0.446% FLOPs, 32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
                (bn): BatchNorm2d(0.0 M, 0.001% Params, 0.0 GFLOPs, 0.003% FLOPs, 32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
                (activate): ReLU(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.002% FLOPs, inplace=True)
              )
            )
          )
        )
        (3): Sequential(
          1.012 M, 11.819% Params, 1.243 GFLOPs, 14.691% FLOPs, 
          (0): STDCModule(
            0.475 M, 5.543% Params, 0.692 GFLOPs, 8.176% FLOPs, 
            (layers): ModuleList(
              0.472 M, 5.511% Params, 0.688 GFLOPs, 8.130% FLOPs, 
              (0): ConvModule(
                0.066 M, 0.771% Params, 0.272 GFLOPs, 3.211% FLOPs, 
                (conv): Conv2d(0.066 M, 0.765% Params, 0.268 GFLOPs, 3.174% FLOPs, 256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
                (bn): BatchNorm2d(0.001 M, 0.006% Params, 0.002 GFLOPs, 0.025% FLOPs, 256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
                (activate): ReLU(0.0 M, 0.000% Params, 0.001 GFLOPs, 0.012% FLOPs, inplace=True)
              )
              (1): ConvModule(
                0.295 M, 3.446% Params, 0.302 GFLOPs, 3.575% FLOPs, 
                (conv): Conv2d(0.295 M, 3.443% Params, 0.302 GFLOPs, 3.570% FLOPs, 256, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
                (bn): BatchNorm2d(0.0 M, 0.003% Params, 0.0 GFLOPs, 0.003% 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.002% FLOPs, inplace=True)
              )
              (2): ConvModule(
                0.074 M, 0.862% Params, 0.076 GFLOPs, 0.895% FLOPs, 
                (conv): Conv2d(0.074 M, 0.861% Params, 0.075 GFLOPs, 0.893% 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.002% 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.001% FLOPs, inplace=True)
              )
              (3): ConvModule(
                0.037 M, 0.432% Params, 0.038 GFLOPs, 0.449% FLOPs, 
                (conv): Conv2d(0.037 M, 0.430% Params, 0.038 GFLOPs, 0.446% FLOPs, 64, 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.002% 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.001% FLOPs, inplace=True)
              )
            )
            (downsample): ConvModule(
              0.003 M, 0.033% Params, 0.003 GFLOPs, 0.034% FLOPs, 
              (conv): Conv2d(0.002 M, 0.027% Params, 0.002 GFLOPs, 0.028% FLOPs, 256, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), groups=256, bias=False)
              (bn): BatchNorm2d(0.001 M, 0.006% Params, 0.001 GFLOPs, 0.006% FLOPs, 256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (skip): AvgPool2d(0.0 M, 0.000% Params, 0.001 GFLOPs, 0.012% FLOPs, kernel_size=3, stride=2, padding=1)
          )
          (1): STDCModule(
            0.538 M, 6.276% Params, 0.551 GFLOPs, 6.515% FLOPs, 
            (layers): ModuleList(
              0.538 M, 6.276% Params, 0.551 GFLOPs, 6.515% FLOPs, 
              (0): ConvModule(
                0.132 M, 1.536% Params, 0.135 GFLOPs, 1.596% FLOPs, 
                (conv): Conv2d(0.131 M, 1.530% Params, 0.134 GFLOPs, 1.587% FLOPs, 512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
                (bn): BatchNorm2d(0.001 M, 0.006% Params, 0.001 GFLOPs, 0.006% 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.003% FLOPs, inplace=True)
              )
              (1): ConvModule(
                0.295 M, 3.446% Params, 0.302 GFLOPs, 3.575% FLOPs, 
                (conv): Conv2d(0.295 M, 3.443% Params, 0.302 GFLOPs, 3.570% FLOPs, 256, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
                (bn): BatchNorm2d(0.0 M, 0.003% Params, 0.0 GFLOPs, 0.003% 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.002% FLOPs, inplace=True)
              )
              (2): ConvModule(
                0.074 M, 0.862% Params, 0.076 GFLOPs, 0.895% FLOPs, 
                (conv): Conv2d(0.074 M, 0.861% Params, 0.075 GFLOPs, 0.893% 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.002% 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.001% FLOPs, inplace=True)
              )
              (3): ConvModule(
                0.037 M, 0.432% Params, 0.038 GFLOPs, 0.449% FLOPs, 
                (conv): Conv2d(0.037 M, 0.430% Params, 0.038 GFLOPs, 0.446% FLOPs, 64, 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.002% 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.001% FLOPs, inplace=True)
              )
            )
          )
        )
        (4): Sequential(
          4.04 M, 47.163% Params, 1.238 GFLOPs, 14.635% FLOPs, 
          (0): STDCModule(
            1.892 M, 22.084% Params, 0.688 GFLOPs, 8.130% FLOPs, 
            (layers): ModuleList(
              1.886 M, 22.019% Params, 0.686 GFLOPs, 8.106% FLOPs, 
              (0): ConvModule(
                0.263 M, 3.072% Params, 0.27 GFLOPs, 3.192% FLOPs, 
                (conv): Conv2d(0.262 M, 3.060% Params, 0.268 GFLOPs, 3.174% FLOPs, 512, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
                (bn): BatchNorm2d(0.001 M, 0.012% Params, 0.001 GFLOPs, 0.012% FLOPs, 512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
                (activate): ReLU(0.0 M, 0.000% Params, 0.001 GFLOPs, 0.006% FLOPs, inplace=True)
              )
              (1): ConvModule(
                1.18 M, 13.777% Params, 0.302 GFLOPs, 3.573% FLOPs, 
                (conv): Conv2d(1.18 M, 13.771% Params, 0.302 GFLOPs, 3.570% FLOPs, 512, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
                (bn): BatchNorm2d(0.001 M, 0.006% Params, 0.0 GFLOPs, 0.002% 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.001% FLOPs, inplace=True)
              )
              (2): ConvModule(
                0.295 M, 3.446% Params, 0.076 GFLOPs, 0.894% FLOPs, 
                (conv): Conv2d(0.295 M, 3.443% Params, 0.075 GFLOPs, 0.893% FLOPs, 256, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
                (bn): BatchNorm2d(0.0 M, 0.003% Params, 0.0 GFLOPs, 0.001% 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)
              )
              (3): ConvModule(
                0.148 M, 1.724% Params, 0.038 GFLOPs, 0.447% FLOPs, 
                (conv): Conv2d(0.147 M, 1.721% Params, 0.038 GFLOPs, 0.446% FLOPs, 128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
                (bn): BatchNorm2d(0.0 M, 0.003% Params, 0.0 GFLOPs, 0.001% 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)
              )
            )
            (downsample): ConvModule(
              0.006 M, 0.066% Params, 0.001 GFLOPs, 0.017% FLOPs, 
              (conv): Conv2d(0.005 M, 0.054% Params, 0.001 GFLOPs, 0.014% FLOPs, 512, 512, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), groups=512, bias=False)
              (bn): BatchNorm2d(0.001 M, 0.012% Params, 0.0 GFLOPs, 0.003% FLOPs, 512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (skip): AvgPool2d(0.0 M, 0.000% Params, 0.001 GFLOPs, 0.006% FLOPs, kernel_size=3, stride=2, padding=1)
          )
          (1): STDCModule(
            2.148 M, 25.079% Params, 0.55 GFLOPs, 6.506% FLOPs, 
            (layers): ModuleList(
              2.148 M, 25.079% Params, 0.55 GFLOPs, 6.506% FLOPs, 
              (0): ConvModule(
                0.525 M, 6.132% Params, 0.135 GFLOPs, 1.592% FLOPs, 
                (conv): Conv2d(0.524 M, 6.120% Params, 0.134 GFLOPs, 1.587% FLOPs, 1024, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
                (bn): BatchNorm2d(0.001 M, 0.012% Params, 0.0 GFLOPs, 0.003% FLOPs, 512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
                (activate): ReLU(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.002% FLOPs, inplace=True)
              )
              (1): ConvModule(
                1.18 M, 13.777% Params, 0.302 GFLOPs, 3.573% FLOPs, 
                (conv): Conv2d(1.18 M, 13.771% Params, 0.302 GFLOPs, 3.570% FLOPs, 512, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
                (bn): BatchNorm2d(0.001 M, 0.006% Params, 0.0 GFLOPs, 0.002% 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.001% FLOPs, inplace=True)
              )
              (2): ConvModule(
                0.295 M, 3.446% Params, 0.076 GFLOPs, 0.894% FLOPs, 
                (conv): Conv2d(0.295 M, 3.443% Params, 0.075 GFLOPs, 0.893% FLOPs, 256, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
                (bn): BatchNorm2d(0.0 M, 0.003% Params, 0.0 GFLOPs, 0.001% 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)
              )
              (3): ConvModule(
                0.148 M, 1.724% Params, 0.038 GFLOPs, 0.447% FLOPs, 
                (conv): Conv2d(0.147 M, 1.721% Params, 0.038 GFLOPs, 0.446% FLOPs, 128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
                (bn): BatchNorm2d(0.0 M, 0.003% Params, 0.0 GFLOPs, 0.001% 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)
              )
            )
          )
        )
      )
    )
    init_cfg={'type': 'Pretrained', 'checkpoint': './pretrained/stdc1_in1k-pre_512x1024_80k_cityscapes_20220224_141648-3d4c2981.pth'}
    (arms): ModuleList(
      1.803 M, 21.050% Params, 0.907 GFLOPs, 10.720% FLOPs, 
      (0): AttentionRefinementModule(
        1.197 M, 13.968% Params, 0.302 GFLOPs, 3.572% FLOPs, 
        (conv_layer): ConvModule(
          1.18 M, 13.774% Params, 0.302 GFLOPs, 3.572% FLOPs, 
          (conv): Conv2d(1.18 M, 13.771% Params, 0.302 GFLOPs, 3.570% FLOPs, 1024, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
          (bn): BatchNorm2d(0.0 M, 0.003% Params, 0.0 GFLOPs, 0.001% 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.194% Params, 0.0 GFLOPs, 0.001% 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.194% Params, 0.0 GFLOPs, 0.000% FLOPs, 
            (conv): Conv2d(0.016 M, 0.191% Params, 0.0 GFLOPs, 0.000% FLOPs, 128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
            (bn): BatchNorm2d(0.0 M, 0.003% 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, )
        )
      )
      (1): AttentionRefinementModule(
        0.607 M, 7.083% Params, 0.605 GFLOPs, 7.147% FLOPs, 
        (conv_layer): ConvModule(
          0.59 M, 6.888% Params, 0.604 GFLOPs, 7.146% FLOPs, 
          (conv): Conv2d(0.59 M, 6.885% Params, 0.604 GFLOPs, 7.141% FLOPs, 512, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
          (bn): BatchNorm2d(0.0 M, 0.003% Params, 0.0 GFLOPs, 0.003% 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.002% FLOPs, inplace=True)
        )
        (atten_conv_layer): Sequential(
          0.017 M, 0.194% Params, 0.0 GFLOPs, 0.002% FLOPs, 
          (0): AdaptiveAvgPool2d(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.002% FLOPs, output_size=(1, 1))
          (1): ConvModule(
            0.017 M, 0.194% Params, 0.0 GFLOPs, 0.000% FLOPs, 
            (conv): Conv2d(0.016 M, 0.191% Params, 0.0 GFLOPs, 0.000% FLOPs, 128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
            (bn): BatchNorm2d(0.0 M, 0.003% 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, )
        )
      )
    )
    (convs): ModuleList(
      0.295 M, 3.449% Params, 0.757 GFLOPs, 8.949% FLOPs, 
      (0): ConvModule(
        0.148 M, 1.724% Params, 0.151 GFLOPs, 1.790% FLOPs, 
        (conv): Conv2d(0.147 M, 1.721% Params, 0.151 GFLOPs, 1.785% FLOPs, 128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
        (bn): BatchNorm2d(0.0 M, 0.003% Params, 0.0 GFLOPs, 0.003% 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.002% FLOPs, inplace=True)
      )
      (1): ConvModule(
        0.148 M, 1.724% Params, 0.606 GFLOPs, 7.160% FLOPs, 
        (conv): Conv2d(0.147 M, 1.721% Params, 0.604 GFLOPs, 7.141% FLOPs, 128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
        (bn): BatchNorm2d(0.0 M, 0.003% Params, 0.001 GFLOPs, 0.012% 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.006% FLOPs, inplace=True)
      )
    )
    (conv_avg): ConvModule(
      0.131 M, 1.533% Params, 0.0 GFLOPs, 0.002% FLOPs, 
      (conv): Conv2d(0.131 M, 1.530% Params, 0.0 GFLOPs, 0.002% FLOPs, 1024, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
      (bn): BatchNorm2d(0.0 M, 0.003% 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)
    )
    (ffm): FeatureFusionModule(
      0.132 M, 1.536% Params, 0.407 GFLOPs, 4.811% FLOPs, 
      (conv0): ConvModule(
        0.099 M, 1.154% Params, 0.406 GFLOPs, 4.798% FLOPs, 
        (conv): Conv2d(0.098 M, 1.148% Params, 0.403 GFLOPs, 4.761% FLOPs, 384, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
        (bn): BatchNorm2d(0.001 M, 0.006% Params, 0.002 GFLOPs, 0.025% FLOPs, 256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (activate): ReLU(0.0 M, 0.000% Params, 0.001 GFLOPs, 0.012% FLOPs, inplace=True)
      )
      (attention): Sequential(
        0.033 M, 0.383% Params, 0.001 GFLOPs, 0.013% FLOPs, 
        (0): AdaptiveAvgPool2d(0.0 M, 0.000% Params, 0.001 GFLOPs, 0.012% FLOPs, output_size=(1, 1))
        (1): ConvModule(
          0.016 M, 0.191% Params, 0.0 GFLOPs, 0.000% FLOPs, 
          (conv): Conv2d(0.016 M, 0.191% Params, 0.0 GFLOPs, 0.000% FLOPs, 256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
          (activate): ReLU(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, inplace=True)
        )
        (2): ConvModule(
          0.016 M, 0.191% Params, 0.0 GFLOPs, 0.000% FLOPs, 
          (conv): Conv2d(0.016 M, 0.191% Params, 0.0 GFLOPs, 0.000% FLOPs, 64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
        )
        (3): Sigmoid(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, )
      )
    )
  )
  (decode_head): FCNHead(
    0.591 M, 6.897% Params, 2.421 GFLOPs, 28.626% FLOPs, input_transform=None, ignore_index=255, align_corners=False
    (loss_decode): CrossEntropyLoss(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, avg_non_ignore=False)
    (conv_seg): Conv2d(0.001 M, 0.006% Params, 0.002 GFLOPs, 0.025% 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, 6.891% Params, 2.419 GFLOPs, 28.601% FLOPs, 
      (0): ConvModule(
        0.59 M, 6.891% Params, 2.419 GFLOPs, 28.601% FLOPs, 
        (conv): Conv2d(0.59 M, 6.885% Params, 2.416 GFLOPs, 28.564% FLOPs, 256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
        (bn): BatchNorm2d(0.001 M, 0.006% Params, 0.002 GFLOPs, 0.025% FLOPs, 256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (activate): ReLU(0.0 M, 0.000% Params, 0.001 GFLOPs, 0.012% FLOPs, inplace=True)
      )
    )
  )
  init_cfg={'type': 'Normal', 'std': 0.01, 'override': {'name': 'conv_seg'}}
  (auxiliary_head): ModuleList(
    0.296 M, 3.452% Params, 0.0 GFLOPs, 0.000% FLOPs, 
    (0): FCNHead(
      0.074 M, 0.864% Params, 0.0 GFLOPs, 0.000% FLOPs, input_transform=None, ignore_index=255, align_corners=False
      (loss_decode): CrossEntropyLoss(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, avg_non_ignore=False)
      (conv_seg): Conv2d(0.0 M, 0.002% 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.862% Params, 0.0 GFLOPs, 0.000% FLOPs, 
        (0): ConvModule(
          0.074 M, 0.862% Params, 0.0 GFLOPs, 0.000% FLOPs, 
          (conv): Conv2d(0.074 M, 0.861% 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.864% Params, 0.0 GFLOPs, 0.000% FLOPs, input_transform=None, ignore_index=255, align_corners=False
      (loss_decode): CrossEntropyLoss(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, avg_non_ignore=False)
      (conv_seg): Conv2d(0.0 M, 0.002% 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.862% Params, 0.0 GFLOPs, 0.000% FLOPs, 
        (0): ConvModule(
          0.074 M, 0.862% Params, 0.0 GFLOPs, 0.000% FLOPs, 
          (conv): Conv2d(0.074 M, 0.861% 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'}}
    (2): STDCHead(
      0.148 M, 1.724% 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)
        (1): DiceLoss(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, )
      )
      (conv_seg): Conv2d(0.0 M, 0.002% 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.148 M, 1.723% Params, 0.0 GFLOPs, 0.000% FLOPs, 
        (0): ConvModule(
          0.148 M, 1.723% Params, 0.0 GFLOPs, 0.000% FLOPs, 
          (conv): Conv2d(0.147 M, 1.721% Params, 0.0 GFLOPs, 0.000% FLOPs, 256, 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, 512, 512)
Flops: 8.46 GFLOPs
Params: 8.57 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.
