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时,表示池化时,两个单元格都使用相邻池化单元边界的值.例如:
如果池序列是[0,2,4],则索引2处的16将使用两次.对于分数平均池化,结果将是[41 / 3,26 / 3].index 0 1 2 3 4 value 20 5 16 3 7
- 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.