in sagemaker/src/handwriting_line_recognition.py [0:0]
def get_down_sampler(self, num_filters):
'''
Creates a two-stacked Conv-BatchNorm-Relu and then a pooling layer to
downsample the image features by half.
Parameters
----------
num_filters: int
To select the number of filters in used the downsampling convolutional layer.
Returns
-------
network: gluon.nn.HybridSequential
The downsampler network that decreases the width and height of the image features by half.
'''
out = gluon.nn.HybridSequential()
with out.name_scope():
for _ in range(self.num_downsamples):
out.add(gluon.nn.Conv2D(num_filters, 3, strides=1, padding=1))
out.add(gluon.nn.BatchNorm(in_channels=num_filters))
out.add(gluon.nn.Activation('relu'))
out.add(gluon.nn.MaxPool2D(2))
out.collect_params().initialize(mx.init.Normal(), ctx=self.ctx)
out.hybridize()
return out