DistributedDataParallel(
  (module): VGG(
    (features): Sequential(
      (0): QuanConv2dFuseBN(
        3, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)
        (m): Conv2d(3, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        (quan_w_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.019970392808318138, per_channel=False)
        (quan_out_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.06202756240963936, per_channel=False)
        (quan_a_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.6689449548721313, per_channel=False)
      )
      (1): DummyModule()
      (2): ReLU(inplace=True)
      (3): QuanConv2dFuseBN(
        64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)
        (m): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        (quan_w_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.03067265823483467, per_channel=False)
        (quan_out_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.0745294839143753, per_channel=False)
      )
      (4): DummyModule()
      (5): ReLU(inplace=True)
      (6): QuanAvgPool(
        (m): AvgPool2d(kernel_size=2, stride=2, padding=0)
        (quan_out_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.03495108708739281, per_channel=False)
      )
      (7): QuanConv2dFuseBN(
        64, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)
        (m): Conv2d(64, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        (quan_w_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.03339073434472084, per_channel=False)
        (quan_out_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.05929645150899887, per_channel=False)
      )
      (8): DummyModule()
      (9): ReLU(inplace=True)
      (10): QuanConv2dFuseBN(
        128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)
        (m): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        (quan_w_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.016504662111401558, per_channel=False)
        (quan_out_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.08585420250892639, per_channel=False)
      )
      (11): DummyModule()
      (12): ReLU(inplace=True)
      (13): QuanAvgPool(
        (m): AvgPool2d(kernel_size=2, stride=2, padding=0)
        (quan_out_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.027158258482813835, per_channel=False)
      )
      (14): QuanConv2dFuseBN(
        128, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)
        (m): Conv2d(128, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        (quan_w_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.0286577008664608, per_channel=False)
        (quan_out_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.09328734129667282, per_channel=False)
      )
      (15): DummyModule()
      (16): ReLU(inplace=True)
      (17): QuanConv2dFuseBN(
        256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)
        (m): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        (quan_w_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.010838138870894909, per_channel=False)
        (quan_out_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.09562923014163971, per_channel=False)
      )
      (18): DummyModule()
      (19): ReLU(inplace=True)
      (20): QuanConv2dFuseBN(
        256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)
        (m): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        (quan_w_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.010314875282347202, per_channel=False)
        (quan_out_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.1176847591996193, per_channel=False)
      )
      (21): DummyModule()
      (22): ReLU(inplace=True)
      (23): QuanAvgPool(
        (m): AvgPool2d(kernel_size=2, stride=2, padding=0)
        (quan_out_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.01249606627970934, per_channel=False)
      )
      (24): QuanConv2dFuseBN(
        256, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)
        (m): Conv2d(256, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        (quan_w_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.032592371106147766, per_channel=False)
        (quan_out_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.11077983677387238, per_channel=False)
      )
      (25): DummyModule()
      (26): ReLU(inplace=True)
      (27): QuanConv2dFuseBN(
        512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)
        (m): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        (quan_w_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.010497636161744595, per_channel=False)
        (quan_out_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.13277527689933777, per_channel=False)
      )
      (28): DummyModule()
      (29): ReLU(inplace=True)
      (30): QuanConv2dFuseBN(
        512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)
        (m): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        (quan_w_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.007711287122219801, per_channel=False)
        (quan_out_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.11171801388263702, per_channel=False)
      )
      (31): DummyModule()
      (32): ReLU(inplace=True)
      (33): QuanAvgPool(
        (m): AvgPool2d(kernel_size=2, stride=2, padding=0)
        (quan_out_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.004103072918951511, per_channel=False)
      )
      (34): QuanConv2dFuseBN(
        512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)
        (m): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        (quan_w_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.04524282366037369, per_channel=False)
        (quan_out_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.12237749248743057, per_channel=False)
      )
      (35): DummyModule()
      (36): ReLU(inplace=True)
      (37): QuanConv2dFuseBN(
        512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)
        (m): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        (quan_w_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.00896716583520174, per_channel=False)
        (quan_out_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.11183672398328781, per_channel=False)
      )
      (38): DummyModule()
      (39): ReLU(inplace=True)
      (40): QuanConv2dFuseBN(
        512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)
        (m): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        (quan_w_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.00754139618948102, per_channel=False)
        (quan_out_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.21897265315055847, per_channel=False)
      )
      (41): DummyModule()
      (42): ReLU(inplace=True)
      (43): QuanAvgPool(
        (m): AvgPool2d(kernel_size=2, stride=2, padding=0)
        (quan_out_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.009466526098549366, per_channel=False)
      )
    )
    (classifier): Sequential(
      (0): QuanLinear(
        in_features=512, out_features=4096, bias=True
        (quan_w_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.0071954731829464436, per_channel=False)
        (quan_out_fn): LsqQuan(thd_pos=15, thd_neg=0, s=0.013503442518413067, per_channel=False)
        (m): Linear(in_features=512, out_features=4096, bias=True)
      )
      (1): ReLU(inplace=True)
      (2): Dropout(p=0.5, inplace=False)
      (3): QuanLinear(
        in_features=4096, out_features=4096, bias=True
        (quan_w_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.007067378610372543, per_channel=False)
        (quan_out_fn): LsqQuan(thd_pos=15, thd_neg=0, s=0.0739215761423111, per_channel=False)
        (m): Linear(in_features=4096, out_features=4096, bias=True)
      )
      (4): ReLU(inplace=True)
      (5): Dropout(p=0.5, inplace=False)
      (6): QuanLinear(
        in_features=4096, out_features=10, bias=True
        (quan_w_fn): LsqQuan(thd_pos=7, thd_neg=-8, s=0.004286188166588545, per_channel=False)
        (quan_out_fn): LsqQuan(thd_pos=127, thd_neg=-128, s=0.2281281054019928, per_channel=False)
        (m): Linear(in_features=4096, out_features=10, bias=True)
      )
    )
  )
)