@@ -19,7 +19,7 @@ def inception_v3(pretrained=False, **kwargs):
19
19
20
20
.. note::
21
21
**Important**: In contrast to the other models the inception_v3 expects tensors with a size of
22
- 299x299x3 , so ensure your images are sized accordingly.
22
+ N x 3 x 299 x 299 , so ensure your images are sized accordingly.
23
23
24
24
Args:
25
25
pretrained (bool): If True, returns a model pre-trained on ImageNet
@@ -78,55 +78,55 @@ def forward(self, x):
78
78
x_ch1 = torch .unsqueeze (x [:, 1 ], 1 ) * (0.224 / 0.5 ) + (0.456 - 0.5 ) / 0.5
79
79
x_ch2 = torch .unsqueeze (x [:, 2 ], 1 ) * (0.225 / 0.5 ) + (0.406 - 0.5 ) / 0.5
80
80
x = torch .cat ((x_ch0 , x_ch1 , x_ch2 ), 1 )
81
- # 299 x 299 x 3
81
+ # N x 3 x 299 x 299
82
82
x = self .Conv2d_1a_3x3 (x )
83
- # 149 x 149 x 32
83
+ # N x 32 x 149 x 149
84
84
x = self .Conv2d_2a_3x3 (x )
85
- # 147 x 147 x 32
85
+ # N x 32 x 147 x 147
86
86
x = self .Conv2d_2b_3x3 (x )
87
- # 147 x 147 x 64
87
+ # N x 64 x 147 x 147
88
88
x = F .max_pool2d (x , kernel_size = 3 , stride = 2 )
89
- # 73 x 73 x 64
89
+ # N x 64 x 73 x 73
90
90
x = self .Conv2d_3b_1x1 (x )
91
- # 73 x 73 x 80
91
+ # N x 80 x 73 x 73
92
92
x = self .Conv2d_4a_3x3 (x )
93
- # 71 x 71 x 192
93
+ # N x 192 x 71 x 71
94
94
x = F .max_pool2d (x , kernel_size = 3 , stride = 2 )
95
- # 35 x 35 x 192
95
+ # N x 192 x 35 x 35
96
96
x = self .Mixed_5b (x )
97
- # 35 x 35 x 256
97
+ # N x 256 x 35 x 35
98
98
x = self .Mixed_5c (x )
99
- # 35 x 35 x 288
99
+ # N x 288 x 35 x 35
100
100
x = self .Mixed_5d (x )
101
- # 35 x 35 x 288
101
+ # N x 288 x 35 x 35
102
102
x = self .Mixed_6a (x )
103
- # 17 x 17 x 768
103
+ # N x 768 x 17 x 17
104
104
x = self .Mixed_6b (x )
105
- # 17 x 17 x 768
105
+ # N x 768 x 17 x 17
106
106
x = self .Mixed_6c (x )
107
- # 17 x 17 x 768
107
+ # N x 768 x 17 x 17
108
108
x = self .Mixed_6d (x )
109
- # 17 x 17 x 768
109
+ # N x 768 x 17 x 17
110
110
x = self .Mixed_6e (x )
111
- # 17 x 17 x 768
111
+ # N x 768 x 17 x 17
112
112
if self .training and self .aux_logits :
113
113
aux = self .AuxLogits (x )
114
- # 17 x 17 x 768
114
+ # N x 768 x 17 x 17
115
115
x = self .Mixed_7a (x )
116
- # 8 x 8 x 1280
116
+ # N x 1280 x 8 x 8
117
117
x = self .Mixed_7b (x )
118
- # 8 x 8 x 2048
118
+ # N x 2048 x 8 x 8
119
119
x = self .Mixed_7c (x )
120
- # 8 x 8 x 2048
120
+ # N x 2048 x 8 x 8
121
121
# Adaptive average pooling
122
122
x = F .adaptive_avg_pool2d (x , (1 , 1 ))
123
- # 1 x 1 x 2048
123
+ # N x 2048 x 1 x 1
124
124
x = F .dropout (x , training = self .training )
125
- # 1 x 1 x 2048
125
+ # N x 2048 x 1 x 1
126
126
x = x .view (x .size (0 ), - 1 )
127
- # 2048
127
+ # N x 2048
128
128
x = self .fc (x )
129
- # 1000 (num_classes)
129
+ # N x 1000 (num_classes)
130
130
if self .training and self .aux_logits :
131
131
return x , aux
132
132
return x
@@ -305,20 +305,20 @@ def __init__(self, in_channels, num_classes):
305
305
self .fc .stddev = 0.001
306
306
307
307
def forward (self , x ):
308
- # 17 x 17 x 768
308
+ # N x 768 x 17 x 17
309
309
x = F .avg_pool2d (x , kernel_size = 5 , stride = 3 )
310
- # 5 x 5 x 768
310
+ # N x 768 x 5 x 5
311
311
x = self .conv0 (x )
312
- # 5 x 5 x 128
312
+ # N x 128 x 5 x 5
313
313
x = self .conv1 (x )
314
- # 1 x 1 x 768
314
+ # N x 768 x 1 x 1
315
315
# Adaptive average pooling
316
316
x = F .adaptive_avg_pool2d (x , (1 , 1 ))
317
- # 1 x 1 x 768
317
+ # N x 768 x 1 x 1
318
318
x = x .view (x .size (0 ), - 1 )
319
- # 768
319
+ # N x 768
320
320
x = self .fc (x )
321
- # 1000
321
+ # N x 1000
322
322
return x
323
323
324
324
0 commit comments