@@ -165,10 +165,12 @@ def _check_layer_support(self, layer):
165
165
layers .ReLU , layers .LeakyReLU , layers .ELU , layers .Dropout )):
166
166
return True
167
167
elif isinstance (layer , layers .DepthwiseConv2D ):
168
- # 3x3 stride-1 convolution (no dilation, padding 1 on each side).
169
- # 3x3 stride-2 convolution (no dilation, padding 1 on each side).
170
- # 5x5 stride-1 convolution (no dilation, padding 2 on each side).
171
- # 5x5 stride-2 convolution (no dilation, padding 2 on each side).
168
+ # 3x3 convolution with `SAME` padding (no dilation, stride-1).
169
+ # 3x3 convolution with `VALID` padding (no dilation, stride-1 or stride-2,
170
+ # preceding `ZeroPadding2D` layer with padding 1 on each side.
171
+ # 5x5 convolution with `SAME` padding (no dilation, stride-1)
172
+ # 5x5 convolution with `VALID` padding (no dilation, stride-1 or stride-2,
173
+ # preceding `ZeroPadding2D` layer with padding 2 on each side.
172
174
padding = layer .padding .lower ()
173
175
producers = self ._get_producers (layer )
174
176
zero_padding = (
@@ -180,7 +182,8 @@ def _check_layer_support(self, layer):
180
182
padding == 'same' )
181
183
182
184
supported_case_2 = (
183
- layer .kernel_size == (3 , 3 ) and layer .strides == (2 , 2 ) and
185
+ layer .kernel_size == (3 , 3 ) and
186
+ (layer .strides == (1 , 1 ) or layer .strides == (2 , 2 )) and
184
187
padding == 'valid' and zero_padding and
185
188
zero_padding .padding == ((1 , 1 ), (1 , 1 )))
186
189
@@ -189,7 +192,8 @@ def _check_layer_support(self, layer):
189
192
padding == 'same' )
190
193
191
194
supported_case_4 = (
192
- layer .kernel_size == (5 , 5 ) and layer .strides == (2 , 2 ) and
195
+ layer .kernel_size == (5 , 5 ) and
196
+ (layer .strides == (1 , 1 ) or layer .strides == (2 , 2 )) and
193
197
padding == 'valid' and zero_padding and
194
198
zero_padding .padding == ((2 , 2 ), (2 , 2 )))
195
199
0 commit comments