Revert "fix mv3 to adapt to paddle2.0"
This commit is contained in:
parent
95ad4d1032
commit
493027d39e
|
@ -58,15 +58,15 @@ class MobileNetV3(nn.Layer):
|
||||||
[5, 72, 40, True, 'relu', 2],
|
[5, 72, 40, True, 'relu', 2],
|
||||||
[5, 120, 40, True, 'relu', 1],
|
[5, 120, 40, True, 'relu', 1],
|
||||||
[5, 120, 40, True, 'relu', 1],
|
[5, 120, 40, True, 'relu', 1],
|
||||||
[3, 240, 80, False, 'hardswish', 2],
|
[3, 240, 80, False, 'hard_swish', 2],
|
||||||
[3, 200, 80, False, 'hardswish', 1],
|
[3, 200, 80, False, 'hard_swish', 1],
|
||||||
[3, 184, 80, False, 'hardswish', 1],
|
[3, 184, 80, False, 'hard_swish', 1],
|
||||||
[3, 184, 80, False, 'hardswish', 1],
|
[3, 184, 80, False, 'hard_swish', 1],
|
||||||
[3, 480, 112, True, 'hardswish', 1],
|
[3, 480, 112, True, 'hard_swish', 1],
|
||||||
[3, 672, 112, True, 'hardswish', 1],
|
[3, 672, 112, True, 'hard_swish', 1],
|
||||||
[5, 672, 160, True, 'hardswish', 2],
|
[5, 672, 160, True, 'hard_swish', 2],
|
||||||
[5, 960, 160, True, 'hardswish', 1],
|
[5, 960, 160, True, 'hard_swish', 1],
|
||||||
[5, 960, 160, True, 'hardswish', 1],
|
[5, 960, 160, True, 'hard_swish', 1],
|
||||||
]
|
]
|
||||||
cls_ch_squeeze = 960
|
cls_ch_squeeze = 960
|
||||||
elif model_name == "small":
|
elif model_name == "small":
|
||||||
|
@ -75,14 +75,14 @@ class MobileNetV3(nn.Layer):
|
||||||
[3, 16, 16, True, 'relu', 2],
|
[3, 16, 16, True, 'relu', 2],
|
||||||
[3, 72, 24, False, 'relu', 2],
|
[3, 72, 24, False, 'relu', 2],
|
||||||
[3, 88, 24, False, 'relu', 1],
|
[3, 88, 24, False, 'relu', 1],
|
||||||
[5, 96, 40, True, 'hardswish', 2],
|
[5, 96, 40, True, 'hard_swish', 2],
|
||||||
[5, 240, 40, True, 'hardswish', 1],
|
[5, 240, 40, True, 'hard_swish', 1],
|
||||||
[5, 240, 40, True, 'hardswish', 1],
|
[5, 240, 40, True, 'hard_swish', 1],
|
||||||
[5, 120, 48, True, 'hardswish', 1],
|
[5, 120, 48, True, 'hard_swish', 1],
|
||||||
[5, 144, 48, True, 'hardswish', 1],
|
[5, 144, 48, True, 'hard_swish', 1],
|
||||||
[5, 288, 96, True, 'hardswish', 2],
|
[5, 288, 96, True, 'hard_swish', 2],
|
||||||
[5, 576, 96, True, 'hardswish', 1],
|
[5, 576, 96, True, 'hard_swish', 1],
|
||||||
[5, 576, 96, True, 'hardswish', 1],
|
[5, 576, 96, True, 'hard_swish', 1],
|
||||||
]
|
]
|
||||||
cls_ch_squeeze = 576
|
cls_ch_squeeze = 576
|
||||||
else:
|
else:
|
||||||
|
@ -102,7 +102,7 @@ class MobileNetV3(nn.Layer):
|
||||||
padding=1,
|
padding=1,
|
||||||
groups=1,
|
groups=1,
|
||||||
if_act=True,
|
if_act=True,
|
||||||
act='hardswish',
|
act='hard_swish',
|
||||||
name='conv1')
|
name='conv1')
|
||||||
|
|
||||||
self.stages = []
|
self.stages = []
|
||||||
|
@ -137,7 +137,7 @@ class MobileNetV3(nn.Layer):
|
||||||
padding=0,
|
padding=0,
|
||||||
groups=1,
|
groups=1,
|
||||||
if_act=True,
|
if_act=True,
|
||||||
act='hardswish',
|
act='hard_swish',
|
||||||
name='conv_last'))
|
name='conv_last'))
|
||||||
self.stages.append(nn.Sequential(*block_list))
|
self.stages.append(nn.Sequential(*block_list))
|
||||||
self.out_channels.append(make_divisible(scale * cls_ch_squeeze))
|
self.out_channels.append(make_divisible(scale * cls_ch_squeeze))
|
||||||
|
@ -191,11 +191,10 @@ class ConvBNLayer(nn.Layer):
|
||||||
if self.if_act:
|
if self.if_act:
|
||||||
if self.act == "relu":
|
if self.act == "relu":
|
||||||
x = F.relu(x)
|
x = F.relu(x)
|
||||||
elif self.act == "hardswish":
|
elif self.act == "hard_swish":
|
||||||
x = F.hardswish(x)
|
x = F.activation.hard_swish(x)
|
||||||
else:
|
else:
|
||||||
print("The activation function({}) is selected incorrectly.".
|
print("The activation function is selected incorrectly.")
|
||||||
format(self.act))
|
|
||||||
exit()
|
exit()
|
||||||
return x
|
return x
|
||||||
|
|
||||||
|
@ -282,5 +281,5 @@ class SEModule(nn.Layer):
|
||||||
outputs = self.conv1(outputs)
|
outputs = self.conv1(outputs)
|
||||||
outputs = F.relu(outputs)
|
outputs = F.relu(outputs)
|
||||||
outputs = self.conv2(outputs)
|
outputs = self.conv2(outputs)
|
||||||
outputs = F.hardsigmoid(outputs, slope=0.2, offset=0.5)
|
outputs = F.activation.hard_sigmoid(outputs)
|
||||||
return inputs * outputs
|
return inputs * outputs
|
||||||
|
|
|
@ -51,15 +51,15 @@ class MobileNetV3(nn.Layer):
|
||||||
[5, 72, 40, True, 'relu', (large_stride[2], 1)],
|
[5, 72, 40, True, 'relu', (large_stride[2], 1)],
|
||||||
[5, 120, 40, True, 'relu', 1],
|
[5, 120, 40, True, 'relu', 1],
|
||||||
[5, 120, 40, True, 'relu', 1],
|
[5, 120, 40, True, 'relu', 1],
|
||||||
[3, 240, 80, False, 'hardswish', 1],
|
[3, 240, 80, False, 'hard_swish', 1],
|
||||||
[3, 200, 80, False, 'hardswish', 1],
|
[3, 200, 80, False, 'hard_swish', 1],
|
||||||
[3, 184, 80, False, 'hardswish', 1],
|
[3, 184, 80, False, 'hard_swish', 1],
|
||||||
[3, 184, 80, False, 'hardswish', 1],
|
[3, 184, 80, False, 'hard_swish', 1],
|
||||||
[3, 480, 112, True, 'hardswish', 1],
|
[3, 480, 112, True, 'hard_swish', 1],
|
||||||
[3, 672, 112, True, 'hardswish', 1],
|
[3, 672, 112, True, 'hard_swish', 1],
|
||||||
[5, 672, 160, True, 'hardswish', (large_stride[3], 1)],
|
[5, 672, 160, True, 'hard_swish', (large_stride[3], 1)],
|
||||||
[5, 960, 160, True, 'hardswish', 1],
|
[5, 960, 160, True, 'hard_swish', 1],
|
||||||
[5, 960, 160, True, 'hardswish', 1],
|
[5, 960, 160, True, 'hard_swish', 1],
|
||||||
]
|
]
|
||||||
cls_ch_squeeze = 960
|
cls_ch_squeeze = 960
|
||||||
elif model_name == "small":
|
elif model_name == "small":
|
||||||
|
@ -68,14 +68,14 @@ class MobileNetV3(nn.Layer):
|
||||||
[3, 16, 16, True, 'relu', (small_stride[0], 1)],
|
[3, 16, 16, True, 'relu', (small_stride[0], 1)],
|
||||||
[3, 72, 24, False, 'relu', (small_stride[1], 1)],
|
[3, 72, 24, False, 'relu', (small_stride[1], 1)],
|
||||||
[3, 88, 24, False, 'relu', 1],
|
[3, 88, 24, False, 'relu', 1],
|
||||||
[5, 96, 40, True, 'hardswish', (small_stride[2], 1)],
|
[5, 96, 40, True, 'hard_swish', (small_stride[2], 1)],
|
||||||
[5, 240, 40, True, 'hardswish', 1],
|
[5, 240, 40, True, 'hard_swish', 1],
|
||||||
[5, 240, 40, True, 'hardswish', 1],
|
[5, 240, 40, True, 'hard_swish', 1],
|
||||||
[5, 120, 48, True, 'hardswish', 1],
|
[5, 120, 48, True, 'hard_swish', 1],
|
||||||
[5, 144, 48, True, 'hardswish', 1],
|
[5, 144, 48, True, 'hard_swish', 1],
|
||||||
[5, 288, 96, True, 'hardswish', (small_stride[3], 1)],
|
[5, 288, 96, True, 'hard_swish', (small_stride[3], 1)],
|
||||||
[5, 576, 96, True, 'hardswish', 1],
|
[5, 576, 96, True, 'hard_swish', 1],
|
||||||
[5, 576, 96, True, 'hardswish', 1],
|
[5, 576, 96, True, 'hard_swish', 1],
|
||||||
]
|
]
|
||||||
cls_ch_squeeze = 576
|
cls_ch_squeeze = 576
|
||||||
else:
|
else:
|
||||||
|
@ -96,7 +96,7 @@ class MobileNetV3(nn.Layer):
|
||||||
padding=1,
|
padding=1,
|
||||||
groups=1,
|
groups=1,
|
||||||
if_act=True,
|
if_act=True,
|
||||||
act='hardswish',
|
act='hard_swish',
|
||||||
name='conv1')
|
name='conv1')
|
||||||
i = 0
|
i = 0
|
||||||
block_list = []
|
block_list = []
|
||||||
|
@ -124,7 +124,7 @@ class MobileNetV3(nn.Layer):
|
||||||
padding=0,
|
padding=0,
|
||||||
groups=1,
|
groups=1,
|
||||||
if_act=True,
|
if_act=True,
|
||||||
act='hardswish',
|
act='hard_swish',
|
||||||
name='conv_last')
|
name='conv_last')
|
||||||
|
|
||||||
self.pool = nn.MaxPool2D(kernel_size=2, stride=2, padding=0)
|
self.pool = nn.MaxPool2D(kernel_size=2, stride=2, padding=0)
|
||||||
|
|
Loading…
Reference in New Issue