CirMobileNetV2(
  (features): Sequential(
    (0): Sequential(
      (0): Conv2d(3, 32, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
      (1): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
      (2): ReLU6(inplace=True)
    )
    (1): CirInvertedResidual(
      (conv): Sequential(
        (0): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=32, bias=False)
        (1): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): ReLU6(inplace=True)
        (3): Conv2d(32, 16, kernel_size=(1, 1), stride=(1, 1), bias=False)
        (4): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
      )
    )
    (2): CirInvertedResidual(
      (conv): Sequential(
        (0): CirConv2d(in_features=16, out_features=96, kernel_size=1, fix_block_size=1, search_space=[1, 2, 4, 8, 16])
        (1): CirBatchNorm2d(num_features=96, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=1)
        (2): ReLU6(inplace=True)
        (3): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=96, bias=False)
        (4): BatchNorm2d(96, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (5): ReLU6(inplace=True)
        (6): CirConv2d(in_features=96, out_features=24, kernel_size=1, fix_block_size=1, search_space=[1, 2, 4, 8])
        (7): CirBatchNorm2d(num_features=24, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=1)
      )
    )
    (3): CirInvertedResidual(
      (conv): Sequential(
        (0): CirConv2d(in_features=24, out_features=144, kernel_size=1, fix_block_size=2, search_space=[1, 2, 4, 8])
        (1): CirBatchNorm2d(num_features=144, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=2)
        (2): ReLU6(inplace=True)
        (3): Conv2d(144, 144, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=144, bias=False)
        (4): BatchNorm2d(144, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (5): ReLU6(inplace=True)
        (6): CirConv2d(in_features=144, out_features=24, kernel_size=1, fix_block_size=2, search_space=[1, 2, 4, 8])
        (7): CirBatchNorm2d(num_features=24, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=2)
      )
    )
    (4): CirInvertedResidual(
      (conv): Sequential(
        (0): CirConv2d(in_features=24, out_features=144, kernel_size=1, fix_block_size=1, search_space=[1, 2, 4, 8])
        (1): CirBatchNorm2d(num_features=144, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=1)
        (2): ReLU6(inplace=True)
        (3): Conv2d(144, 144, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), groups=144, bias=False)
        (4): BatchNorm2d(144, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (5): ReLU6(inplace=True)
        (6): CirConv2d(in_features=144, out_features=32, kernel_size=1, fix_block_size=1, search_space=[1, 2, 4, 8, 16])
        (7): CirBatchNorm2d(num_features=32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=1)
      )
    )
    (5): CirInvertedResidual(
      (conv): Sequential(
        (0): CirConv2d(in_features=32, out_features=192, kernel_size=1, fix_block_size=4, search_space=[1, 2, 4, 8, 16])
        (1): CirBatchNorm2d(num_features=192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=4)
        (2): ReLU6(inplace=True)
        (3): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=192, bias=False)
        (4): BatchNorm2d(192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (5): ReLU6(inplace=True)
        (6): CirConv2d(in_features=192, out_features=32, kernel_size=1, fix_block_size=2, search_space=[1, 2, 4, 8, 16])
        (7): CirBatchNorm2d(num_features=32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=2)
      )
    )
    (6): CirInvertedResidual(
      (conv): Sequential(
        (0): CirConv2d(in_features=32, out_features=192, kernel_size=1, fix_block_size=2, search_space=[1, 2, 4, 8, 16])
        (1): CirBatchNorm2d(num_features=192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=2)
        (2): ReLU6(inplace=True)
        (3): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=192, bias=False)
        (4): BatchNorm2d(192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (5): ReLU6(inplace=True)
        (6): CirConv2d(in_features=192, out_features=32, kernel_size=1, fix_block_size=4, search_space=[1, 2, 4, 8, 16])
        (7): CirBatchNorm2d(num_features=32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=4)
      )
    )
    (7): CirInvertedResidual(
      (conv): Sequential(
        (0): CirConv2d(in_features=32, out_features=192, kernel_size=1, fix_block_size=1, search_space=[1, 2, 4, 8, 16])
        (1): CirBatchNorm2d(num_features=192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=1)
        (2): ReLU6(inplace=True)
        (3): Conv2d(192, 192, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), groups=192, bias=False)
        (4): BatchNorm2d(192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (5): ReLU6(inplace=True)
        (6): CirConv2d(in_features=192, out_features=64, kernel_size=1, fix_block_size=1, search_space=[1, 2, 4, 8, 16])
        (7): CirBatchNorm2d(num_features=64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=1)
      )
    )
    (8): CirInvertedResidual(
      (conv): Sequential(
        (0): CirConv2d(in_features=64, out_features=384, kernel_size=1, fix_block_size=16, search_space=[1, 2, 4, 8, 16])
        (1): CirBatchNorm2d(num_features=384, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=16)
        (2): ReLU6(inplace=True)
        (3): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=384, bias=False)
        (4): BatchNorm2d(384, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (5): ReLU6(inplace=True)
        (6): CirConv2d(in_features=384, out_features=64, kernel_size=1, fix_block_size=8, search_space=[1, 2, 4, 8, 16])
        (7): CirBatchNorm2d(num_features=64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=8)
      )
    )
    (9): CirInvertedResidual(
      (conv): Sequential(
        (0): CirConv2d(in_features=64, out_features=384, kernel_size=1, fix_block_size=8, search_space=[1, 2, 4, 8, 16])
        (1): CirBatchNorm2d(num_features=384, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=8)
        (2): ReLU6(inplace=True)
        (3): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=384, bias=False)
        (4): BatchNorm2d(384, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (5): ReLU6(inplace=True)
        (6): CirConv2d(in_features=384, out_features=64, kernel_size=1, fix_block_size=16, search_space=[1, 2, 4, 8, 16])
        (7): CirBatchNorm2d(num_features=64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=16)
      )
    )
    (10): CirInvertedResidual(
      (conv): Sequential(
        (0): CirConv2d(in_features=64, out_features=384, kernel_size=1, fix_block_size=16, search_space=[1, 2, 4, 8, 16])
        (1): CirBatchNorm2d(num_features=384, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=16)
        (2): ReLU6(inplace=True)
        (3): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=384, bias=False)
        (4): BatchNorm2d(384, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (5): ReLU6(inplace=True)
        (6): CirConv2d(in_features=384, out_features=64, kernel_size=1, fix_block_size=16, search_space=[1, 2, 4, 8, 16])
        (7): CirBatchNorm2d(num_features=64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=16)
      )
    )
    (11): CirInvertedResidual(
      (conv): Sequential(
        (0): CirConv2d(in_features=64, out_features=384, kernel_size=1, fix_block_size=1, search_space=[1, 2, 4, 8, 16])
        (1): CirBatchNorm2d(num_features=384, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=1)
        (2): ReLU6(inplace=True)
        (3): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=384, bias=False)
        (4): BatchNorm2d(384, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (5): ReLU6(inplace=True)
        (6): CirConv2d(in_features=384, out_features=96, kernel_size=1, fix_block_size=2, search_space=[1, 2, 4, 8, 16])
        (7): CirBatchNorm2d(num_features=96, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=2)
      )
    )
    (12): CirInvertedResidual(
      (conv): Sequential(
        (0): CirConv2d(in_features=96, out_features=576, kernel_size=1, fix_block_size=16, search_space=[1, 2, 4, 8, 16])
        (1): CirBatchNorm2d(num_features=576, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=16)
        (2): ReLU6(inplace=True)
        (3): Conv2d(576, 576, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=576, bias=False)
        (4): BatchNorm2d(576, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (5): ReLU6(inplace=True)
        (6): CirConv2d(in_features=576, out_features=96, kernel_size=1, fix_block_size=16, search_space=[1, 2, 4, 8, 16])
        (7): CirBatchNorm2d(num_features=96, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=16)
      )
    )
    (13): CirInvertedResidual(
      (conv): Sequential(
        (0): CirConv2d(in_features=96, out_features=576, kernel_size=1, fix_block_size=8, search_space=[1, 2, 4, 8, 16])
        (1): CirBatchNorm2d(num_features=576, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=8)
        (2): ReLU6(inplace=True)
        (3): Conv2d(576, 576, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=576, bias=False)
        (4): BatchNorm2d(576, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (5): ReLU6(inplace=True)
        (6): CirConv2d(in_features=576, out_features=96, kernel_size=1, fix_block_size=16, search_space=[1, 2, 4, 8, 16])
        (7): CirBatchNorm2d(num_features=96, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=16)
      )
    )
    (14): CirInvertedResidual(
      (conv): Sequential(
        (0): CirConv2d(in_features=96, out_features=576, kernel_size=1, fix_block_size=2, search_space=[1, 2, 4, 8, 16])
        (1): CirBatchNorm2d(num_features=576, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=2)
        (2): ReLU6(inplace=True)
        (3): Conv2d(576, 576, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), groups=576, bias=False)
        (4): BatchNorm2d(576, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (5): ReLU6(inplace=True)
        (6): CirConv2d(in_features=576, out_features=160, kernel_size=1, fix_block_size=2, search_space=[1, 2, 4, 8, 16])
        (7): CirBatchNorm2d(num_features=160, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=2)
      )
    )
    (15): CirInvertedResidual(
      (conv): Sequential(
        (0): CirConv2d(in_features=160, out_features=960, kernel_size=1, fix_block_size=16, search_space=[1, 2, 4, 8, 16])
        (1): CirBatchNorm2d(num_features=960, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=16)
        (2): ReLU6(inplace=True)
        (3): Conv2d(960, 960, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=960, bias=False)
        (4): BatchNorm2d(960, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (5): ReLU6(inplace=True)
        (6): CirConv2d(in_features=960, out_features=160, kernel_size=1, fix_block_size=16, search_space=[1, 2, 4, 8, 16])
        (7): CirBatchNorm2d(num_features=160, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=16)
      )
    )
    (16): CirInvertedResidual(
      (conv): Sequential(
        (0): CirConv2d(in_features=160, out_features=960, kernel_size=1, fix_block_size=8, search_space=[1, 2, 4, 8, 16])
        (1): CirBatchNorm2d(num_features=960, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=8)
        (2): ReLU6(inplace=True)
        (3): Conv2d(960, 960, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=960, bias=False)
        (4): BatchNorm2d(960, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (5): ReLU6(inplace=True)
        (6): CirConv2d(in_features=960, out_features=160, kernel_size=1, fix_block_size=16, search_space=[1, 2, 4, 8, 16])
        (7): CirBatchNorm2d(num_features=160, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=16)
      )
    )
    (17): CirInvertedResidual(
      (conv): Sequential(
        (0): CirConv2d(in_features=160, out_features=960, kernel_size=1, fix_block_size=2, search_space=[1, 2, 4, 8, 16])
        (1): CirBatchNorm2d(num_features=960, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=2)
        (2): ReLU6(inplace=True)
        (3): Conv2d(960, 960, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=960, bias=False)
        (4): BatchNorm2d(960, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (5): ReLU6(inplace=True)
        (6): CirConv2d(in_features=960, out_features=320, kernel_size=1, fix_block_size=4, search_space=[1, 2, 4, 8, 16])
        (7): CirBatchNorm2d(num_features=320, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, block_size=4)
      )
    )
  )
  (conv): Sequential(
    (0): Conv2d(320, 1280, kernel_size=(1, 1), stride=(1, 1), bias=False)
    (1): BatchNorm2d(1280, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU6(inplace=True)
  )
  (avgpool): AdaptiveAvgPool2d(output_size=(1, 1))
  (classifier): Linear(in_features=1280, out_features=200, bias=True)
)