-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Closed
Description
MBConvBlockWithoutDepthwise
implements stride in the 1x1
projection convolution. When stride=2, the projection discards 3/4ths of the activations produced by the expansion. It would be equivalent to implement stride on the 3x3
expansion convolution instead, and this would reduce the total block arithmetic almost by a factor of 4.
tpu/models/official/efficientnet/efficientnet_model.py
Lines 422 to 442 in 8462d08
self._expand_conv = tf.layers.Conv2D( | |
filters, | |
kernel_size=[3, 3], | |
strides=[1, 1], | |
kernel_initializer=conv_kernel_initializer, | |
padding='same', | |
use_bias=False) | |
self._bn0 = self._batch_norm( | |
axis=self._channel_axis, | |
momentum=self._batch_norm_momentum, | |
epsilon=self._batch_norm_epsilon) | |
# Output phase: | |
filters = self._block_args.output_filters | |
self._project_conv = tf.layers.Conv2D( | |
filters, | |
kernel_size=[1, 1], | |
strides=self._block_args.strides, | |
kernel_initializer=conv_kernel_initializer, | |
padding='same', | |
use_bias=False) |
Metadata
Metadata
Assignees
Labels
No labels