阅读(6.4k) 书签 (0)

TensorFlow函数教程:tf.nn.fractional_avg_pool

2019-01-31 13:48 更新

tf.nn.fractional_avg_pool函数

tf.nn.fractional_avg_pool(
    value,
    pooling_ratio,
    pseudo_random=False,
    overlapping=False,
    deterministic=False,
    seed=0,
    seed2=0,
    name=None
)

请参阅指南:神经网络>池操作

在输入上执行分数平均池化.

分数平均池化类似于池区域生成步骤中的分数最大池化.唯一的区别在于,在生成池区域之后,执行平均操作而不是每个池区域中的最大操作.

参数:

  • value:一个Tensor,必须是下列类型之一:float32,float64,int32,int64,是4-D的,shape为[batch, height, width, channels].
  • pooling_ratio:floats列表,长度>=4;value每个维度的池化比率,目前仅支持行和列维度,应该>=1.0.例如,一个有效的池化比率:[1.0,1.44,1.73,1.0];第一个和最后一个元素必须为1.0,因为我们不允许对批处理和通道维度进行池化.1.44和1.73分别是高度和宽度维度的池化比率.
  • pseudo_random:可选的bool,默认为False;当设置为True时,以伪随机方式生成池序列,否则以随机方式生成池序列.查看文章Benjamin Graham,Fractional Max-Pooling以了解伪随机和随机之间的差异.
  • overlapping:可选的bool,默认为False;当设置为True时,表示池化时,两个单元格都使用相邻池化单元边界的值.例如:
    index 0 1 2 3 4
    value 20 5 16 3 7
    如果池序列是[0,2,4],则索引2处的16将使用两次.对于分数平均池化,结果将是[41 / 3,26 / 3].
  • deterministic:可选的bool,默认为False;当设置为True时,将在计算图中的FractionalAvgPool节点上进行迭代时使用固定池区域.主要用于单元测试,使FractionalAvgPool具有确定性.
  • seed:可选的int,默认为0;如果seed或seed2被设置为非零,则随机数生成器由给定的seed生成,否则,它由随机种子生成.
  • seed2:可选的int,默认为0;第二个seed,以避免发生seed碰撞.
  • name:操作的名称(可选). 

返回:

Tensor对象的元组(output,row_pooling_sequence,col_pooling_sequence).

  • output:一个Tensor,与value有相同的类型.
  • row_pooling_sequence:一个int64类型的Tensor.
  • col_pooling_sequence:一个int64类型的Tensor.