@@ -127,16 +127,28 @@ def __init__(self, stage, output_branches, c):
127127 nn .Upsample (scale_factor = (2.0 ** (branch_number - branch_output_number )), mode = 'nearest' ),
128128 ))
129129 elif branch_number < branch_output_number :
130- downsampling_fusion = []
131- for _ in range (branch_output_number - branch_number - 1 ):
132- downsampling_fusion .append (nn .Sequential (
133- nn .Conv2d (c * (2 ** branch_number ), c * (2 ** branch_number ), kernel_size = 3 , stride = 2 ,
134- padding = 1 ,
135- bias = False ),
136- nn .BatchNorm2d (c * (2 ** branch_number ), eps = 1e-05 , momentum = 0.1 , affine = True ,
137- track_running_stats = True ),
130+ downsampling_fusion = [
131+ nn .Sequential (
132+ nn .Conv2d (
133+ c * (2 ** branch_number ),
134+ c * (2 ** branch_number ),
135+ kernel_size = 3 ,
136+ stride = 2 ,
137+ padding = 1 ,
138+ bias = False ,
139+ ),
140+ nn .BatchNorm2d (
141+ c * (2 ** branch_number ),
142+ eps = 1e-05 ,
143+ momentum = 0.1 ,
144+ affine = True ,
145+ track_running_stats = True ,
146+ ),
138147 nn .ReLU (inplace = True ),
139- ))
148+ )
149+ for _ in range (branch_output_number - branch_number - 1 )
150+ ]
151+
140152 downsampling_fusion .append (nn .Sequential (
141153 nn .Conv2d (c * (2 ** branch_number ), c * (2 ** branch_output_number ), kernel_size = 3 ,
142154 stride = 2 , padding = 1 ,
@@ -233,15 +245,17 @@ def __init__(self, c=48, num_blocks=[1, 4, 3], num_classes=1000):
233245
234246 # Classifier (extra module if want to use for classification):
235247 # pool, reduce dimensionality, flatten, connect to linear layer for classification:
236- out_channels = sum ([ c * 2 ** i for i in range (len (num_blocks )+ 1 )]) # total output channels of HRNetV2
248+ out_channels = sum (c * 2 ** i for i in range (len (num_blocks )+ 1 ))
237249 pool_feature_map = 8
238250 self .bn_classifier = nn .Sequential (
239251 nn .Conv2d (out_channels , out_channels // 4 , kernel_size = 1 , bias = False ),
240- nn .BatchNorm2d (out_channels // 4 , eps = 1e-05 , affine = True , track_running_stats = True ),
252+ nn .BatchNorm2d (
253+ out_channels // 4 , eps = 1e-05 , affine = True , track_running_stats = True
254+ ),
241255 nn .ReLU (inplace = True ),
242256 nn .AdaptiveAvgPool2d (pool_feature_map ),
243257 nn .Flatten (),
244- nn .Linear (pool_feature_map * pool_feature_map * (out_channels // 4 ), num_classes ),
258+ nn .Linear (pool_feature_map ** 2 * (out_channels // 4 ), num_classes ),
245259 )
246260
247261 @staticmethod
0 commit comments