View source on GitHub
|
Performs fractional average pooling on the input.
tf.nn.fractional_avg_pool(
value, pooling_ratio, pseudo_random=False, overlapping=False, seed=0, name=None
)
Fractional average pooling is similar to Fractional max pooling in the pooling region generation step. The only difference is that after pooling regions are generated, a mean operation is performed instead of a max operation in each pooling region.
value: A Tensor. 4-D with shape [batch, height, width, channels].pooling_ratio: A list of floats that has length >= 4. Pooling ratio for
each dimension of value, currently only supports row and col dimension
and should be >= 1.0. For example, a valid pooling ratio looks like [1.0,
1.44, 1.73, 1.0]. The first and last elements must be 1.0 because we don't
allow pooling on batch and channels dimensions. 1.44 and 1.73 are pooling
ratio on height and width dimensions respectively.pseudo_random: An optional bool. Defaults to False. When set to True,
generates the pooling sequence in a pseudorandom fashion, otherwise, in a
random fashion. Check paper Benjamin Graham, Fractional
Max-Pooling for difference between
pseudorandom and random.overlapping: An optional bool. Defaults to False. When set to True,
it means when pooling, the values at the boundary of adjacent pooling
cells are used by both cells. For example:
index 0 1 2 3 4
value 20 5 16 3 7
If the pooling sequence is [0, 2, 4], then 16, at index 2 will be used
twice. The result would be [20, 16] for fractional avg pooling.seed: An optional int. Defaults to 0. If set to be non-zero, the
random number generator is seeded by the given seed. Otherwise it is
seeded by a random seed.name: A name for the operation (optional).A tuple of Tensor objects (output, row_pooling_sequence,
col_pooling_sequence).
output: Output Tensor after fractional avg pooling. Has the same type as
value.
row_pooling_sequence: A Tensor of type int64.
col_pooling_sequence: A Tensor of type int64.