Skip to content
This repository was archived by the owner on Nov 3, 2022. It is now read-only.

Commit 0bb8618

Browse files
authored
Fix Squeeze for channel first network creation (#178)
The current efficientnet implementation does not work in channel first mode, because the reshape dimensions are hardcoded to channel last. This fix adds full channel first support
1 parent b34c106 commit 0bb8618

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

Diff for: keras_applications/efficientnet.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,10 @@ def block(inputs, activation_fn=swish, drop_rate=0., name='',
172172
if 0 < se_ratio <= 1:
173173
filters_se = max(1, int(filters_in * se_ratio))
174174
se = layers.GlobalAveragePooling2D(name=name + 'se_squeeze')(x)
175-
se = layers.Reshape((1, 1, filters), name=name + 'se_reshape')(se)
175+
if bn_axis == 1:
176+
se = layers.Reshape((filters, 1, 1), name=name + 'se_reshape')(se)
177+
else:
178+
se = layers.Reshape((1, 1, filters), name=name + 'se_reshape')(se)
176179
se = layers.Conv2D(filters_se, 1,
177180
padding='same',
178181
activation=activation_fn,

0 commit comments

Comments
 (0)