tensorflow个中的tf.nn.max_pool个中的"相同"和"有效"填充有什么区别?

在我看来,"有效"意味着当我们使用max pool时,边缘外不会有零填充.

根据A guide to convolution arithmetic for deep learning,它说在泳池操作员中不会有填充,也就是说,只使用tensorflow的"有效"即可. 但是tensorflow的最大台球的"相同"填充物是什么呢?

推荐答案

我将举一个例子来说明:

  • x:形状[2,3]的输入图像,1通道
  • valid_pad:具有2x2内核、跨度2和有效填充的最大池.
  • same_pad:max pool,2x2内核,跨步2和相同的填充(这是classic条路要走)

输出形状为:

  • valid_pad:此处没有填充,因此输出形状为[1,1]
  • same_pad:在这里,我们将图像填充到形状[2,4](使用-inf,然后应用最大池),因此输出形状为[1,2]

x = tf.constant([[1., 2., 3.],
                 [4., 5., 6.]])

x = tf.reshape(x, [1, 2, 3, 1])  # give a shape accepted by tf.nn.max_pool

valid_pad = tf.nn.max_pool(x, [1, 2, 2, 1], [1, 2, 2, 1], padding='VALID')
same_pad = tf.nn.max_pool(x, [1, 2, 2, 1], [1, 2, 2, 1], padding='SAME')

valid_pad.get_shape() == [1, 1, 1, 1]  # valid_pad is [5.]
same_pad.get_shape() == [1, 1, 2, 1]   # same_pad is  [5., 6.]

Python相关问答推荐

数字梯度的意外值

Python会扔掉未使用的表情吗?

即使在可见的情况下也不相互作用

非常奇怪:tzLocal.get_Localzone()基于python3别名的不同输出?

将数据框架与导入的Excel文件一起使用

无法通过python-jira访问jira工作日志(log)中的 comments

Julia CSV for Python中的等效性Pandas index_col参数

将tdqm与cx.Oracle查询集成

优化器的运行顺序影响PyTorch中的预测

给定高度约束的旋转角解析求解

在Python中,从给定范围内的数组中提取索引组列表的更有效方法

通过ManyToMany字段与Through在Django Admin中过滤

为什么\b在这个正则表达式中不解释为反斜杠

在Python中使用if else或使用regex将二进制数据如111转换为001""

如何找出Pandas 图中的连续空值(NaN)?

提高算法效率的策略?

如果包含特定值,则筛选Groupby

Python pint将1/华氏度转换为1/摄氏度°°

使用Python TCP套接字发送整数并使用C#接收—接收正确数据时出错

如何使用加速广播主进程张量?