1 | Inverted Residual Block: Before fusion
|
2 |
|
3 | Sequential(
|
4 | (0): ConvBNReLU(
|
5 | (0): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=32, bias=False)
|
6 | (1): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
|
7 | (2): ReLU()
|
8 | )
|
9 | (1): Conv2d(32, 16, kernel_size=(1, 1), stride=(1, 1), bias=False)
|
10 | (2): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
|
11 | )
|
12 |
|
13 | Inverted Residual Block: After fusion
|
14 |
|
15 | Sequential(
|
16 | (0): ConvBNReLU(
|
17 | (0): ConvReLU2d(
|
18 | (0): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=32)
|
19 | (1): ReLU()
|
20 | )
|
21 | (1): Identity()
|
22 | (2): Identity()
|
23 | )
|
24 | (1): Conv2d(32, 16, kernel_size=(1, 1), stride=(1, 1))
|
25 | (2): Identity()
|
26 | )
|
27 | Size of baseline model
|
28 | Size (MB): 13.999657
|
29 | ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................Evaluation accuracy on 50000 images, 71.86
|
30 | QConfig(activation=functools.partial(<class 'torch.quantization.observer.MinMaxObserver'>, reduce_range=True), weight=functools.partial(<class 'torch.quantization.observer.MinMaxObserver'>, dtype=torch.qint8, qscheme=torch.per_tensor_symmetric))
|
31 | Post Training Quantization Prepare: Inserting Observers
|
32 |
|
33 | Inverted Residual Block:After observer insertion
|
34 |
|
35 | Sequential(
|
36 | (0): ConvBNReLU(
|
37 | (0): ConvReLU2d(
|
38 | (0): Conv2d(
|
39 | 32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=32
|
40 | (activation_post_process): MinMaxObserver(min_val=tensor([]), max_val=tensor([]))
|
41 | )
|
42 | (1): ReLU(
|
43 | (activation_post_process): MinMaxObserver(min_val=tensor([]), max_val=tensor([]))
|
44 | )
|
45 | )
|
46 | (1): Identity()
|
47 | (2): Identity()
|
48 | )
|
49 | (1): Conv2d(
|
50 | 32, 16, kernel_size=(1, 1), stride=(1, 1)
|
51 | (activation_post_process): MinMaxObserver(min_val=tensor([]), max_val=tensor([]))
|
52 | )
|
53 | (2): Identity()
|
54 | )
|
55 | ................................Post Training Quantization: Calibration done
|
56 | /projs/framework/zhaixiuchuan/train/venv/pytorch/lib/python3.6/site-packages/torch/quantization/observer.py:136: UserWarning: must run observer before calling calculate_qparams. Returning default scale and zero point
|
57 | Returning default scale and zero point "
|
58 | Post Training Quantization: Convert done
|
59 |
|
60 | Inverted Residual Block: After fusion and quantization, note fused modules:
|
61 |
|
62 | Sequential(
|
63 | (0): ConvBNReLU(
|
64 | (0): QuantizedConvReLU2d(32, 32, kernel_size=(3, 3), stride=(1, 1), scale=0.1571013331413269, zero_point=0, padding=(1, 1), groups=32)
|
65 | (1): Identity()
|
66 | (2): Identity()
|
67 | )
|
68 | (1): QuantizedConv2d(32, 16, kernel_size=(1, 1), stride=(1, 1), scale=0.190989688038826, zero_point=66)
|
69 | (2): Identity()
|
70 | )
|
71 | Size of model after quantization
|
72 | Size (MB): 3.631847
|
73 | ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................Evaluation accuracy on 50000 images, 56.39
|
74 | QConfig(activation=functools.partial(<class 'torch.quantization.observer.HistogramObserver'>, reduce_range=True), weight=functools.partial(<class 'torch.quantization.observer.PerChannelMinMaxObserver'>, dtype=torch.qint8, qscheme=torch.per_channel_symmetric))
|
75 | /projs/framework/zhaixiuchuan/train/venv/pytorch/lib/python3.6/site-packages/torch/quantization/observer.py:877: UserWarning: must run observer before calling calculate_qparams. Returning default scale and zero point
|
76 | Returning default scale and zero point "
|
77 |
|
78 | ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................Evaluation accuracy on 50000 images, 68.05
|
79 | Inverted Residual Block: After preparation for QAT, note fake-quantization modules
|
80 | Sequential(
|
81 | (0): ConvBNReLU(
|
82 | (0): ConvBnReLU2d(
|
83 | 32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=32, bias=False
|
84 | (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
|
85 | (activation_post_process): FakeQuantize(
|
86 | fake_quant_enabled=tensor([1], dtype=torch.uint8), observer_enabled=tensor([1], dtype=torch.uint8), scale=tensor([1.]), zero_point=tensor([0])
|
87 | (activation_post_process): MovingAverageMinMaxObserver(min_val=tensor([]), max_val=tensor([]))
|
88 | )
|
89 | (weight_fake_quant): FakeQuantize(
|
90 | fake_quant_enabled=tensor([1], dtype=torch.uint8), observer_enabled=tensor([1], dtype=torch.uint8), scale=tensor([1.]), zero_point=tensor([0])
|
91 | (activation_post_process): MovingAveragePerChannelMinMaxObserver(min_val=tensor([]), max_val=tensor([]))
|
92 | )
|
93 | )
|
94 | (1): Identity()
|
95 | (2): Identity()
|
96 | )
|
97 | (1): ConvBn2d(
|
98 | 32, 16, kernel_size=(1, 1), stride=(1, 1), bias=False
|
99 | (bn): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
|
100 | (activation_post_process): FakeQuantize(
|
101 | fake_quant_enabled=tensor([1], dtype=torch.uint8), observer_enabled=tensor([1], dtype=torch.uint8), scale=tensor([1.]), zero_point=tensor([0])
|
102 | (activation_post_process): MovingAverageMinMaxObserver(min_val=tensor([]), max_val=tensor([]))
|
103 | )
|
104 | (weight_fake_quant): FakeQuantize(
|
105 | fake_quant_enabled=tensor([1], dtype=torch.uint8), observer_enabled=tensor([1], dtype=torch.uint8), scale=tensor([1.]), zero_point=tensor([0])
|
106 | (activation_post_process): MovingAveragePerChannelMinMaxObserver(min_val=tensor([]), max_val=tensor([]))
|
107 | )
|
108 | )
|
109 | (2): Identity()
|
110 | )
|
111 | ....................Loss tensor(1.7456, grad_fn=<DivBackward0>)
|
112 | Training: * Acc@1 59.167 Acc@5 82.500
|
113 | ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................Epoch 0 :Evaluation accuracy on 50000 images, 67.67
|
114 | ....................Loss tensor(1.6714, grad_fn=<DivBackward0>)
|
115 | Training: * Acc@1 61.667 Acc@5 81.500
|
116 | ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................Epoch 1 :Evaluation accuracy on 50000 images, 67.33
|
117 | ....................Loss tensor(1.8121, grad_fn=<DivBackward0>)
|
118 | Training: * Acc@1 60.333 Acc@5 79.333
|
119 | ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................Epoch 2 :Evaluation accuracy on 50000 images, 66.42
|
120 | ....................Loss tensor(1.7800, grad_fn=<DivBackward0>)
|
121 | Training: * Acc@1 57.500 Acc@5 81.500
|
122 | ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................Epoch 3 :Evaluation accuracy on 50000 images, 67.03
|
123 | ....................Loss tensor(1.6966, grad_fn=<DivBackward0>)
|
124 | Training: * Acc@1 62.167 Acc@5 82.167
|
125 | ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................Epoch 4 :Evaluation accuracy on 50000 images, 67.30
|
126 | ....................Loss tensor(1.4494, grad_fn=<DivBackward0>)
|
127 | Training: * Acc@1 66.167 Acc@5 84.333
|
128 | ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................Epoch 5 :Evaluation accuracy on 50000 images, 67.59
|
129 | ....................Loss tensor(1.4924, grad_fn=<DivBackward0>)
|
130 | Training: * Acc@1 66.000 Acc@5 86.667
|
131 | ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................Epoch 6 :Evaluation accuracy on 50000 images, 67.77
|
132 | ....................Loss tensor(1.4817, grad_fn=<DivBackward0>)
|
133 | Training: * Acc@1 65.000 Acc@5 85.000
|
134 | ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................Epoch 7 :Evaluation accuracy on 50000 images, 67.88
|
135 | Elapsed time: 46 ms
|
136 | Elapsed time: 10 ms
|