def maxpool_layer(self, input_tensor, layer_number):
"""Build a maxpooling layer.
Args:
input_tensor: The output from the layer before.
layer_number (int): The number of the layer in the network.
Returns:
tensor: The max pooled output.
"""
_, input_tensor = self._ensure_2d(input_tensor)
layer_spec = self.network_spec['layers'][layer_number]
kernel_shape = (1, # First number has to be one for ksize of maxpool layer.
layer_spec['kernel']['height'],
layer_spec['kernel']['width'],
layer_spec['kernel']['outchannels'])
kernel_strides = (layer_spec['strides']['inchannels'],
layer_spec['strides']['x'],
layer_spec['strides']['y'],
layer_spec['strides']['batch'])
with tf.name_scope('maxpool' + str(layer_number)):
pool = tf.nn.max_pool(input_tensor, ksize=kernel_shape,
strides=kernel_strides, padding='SAME', name='maxpool')
return pool
评论列表
文章目录