首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MNIST Tensorflow示例

MNIST Tensorflow示例
EN

Stack Overflow用户
提问于 2017-04-01 02:32:00
回答 1查看 171关注 0票数 0
代码语言:javascript
运行
复制
def conv2d(x, W):
  return tf.nn.conv2d(x, W, strides=[1, 1, 1, 1], padding='SAME')

def max_pool_2x2(x):
  return tf.nn.max_pool(x, ksize=[1, 2, 2, 1],
                        strides=[1, 2, 2, 1], padding='SAME')

这是Tensorflow网站上Deep MNIST for experts教程中的代码。

我有两个问题:

1) documentation k-size是长度大于4的整数列表,其表示最大池窗口的大小。考虑到这是一个2X2的窗口,它不应该只是2,2吗?我的意思是为什么是1,2, 2,1而不是2,2?

2)如果我们在尺寸1上迈出一大步。为什么我们需要一个有4个值的向量,一个值还不够吗?

代码语言:javascript
运行
复制
strides = [1]

3)如果padding = 'SAME‘,为什么图像大小减少一半?(在第一个卷积过程中从28×28减小到14×14 )

EN

回答 1

Stack Overflow用户

发布于 2017-04-01 03:07:27

  1. 我不确定您在这个问题中指的是哪个文档。最大池窗口实际上是2x2。
  2. 步长可以根据维度的不同而不同。4向量是最常见的情况,假设您想跳过批次中的图像,跳过不同的高度和宽度,甚至可能基于通道跳过。这很少使用,但已保留在。
  3. 中。如果沿每个方向的步长为2,则跳过可能用于最大池化的其他像素。如果您将跳过大小设置为1,1,1,1,并且填充相同,那么您实际上会返回相同大小的结果。填充“相同”指的是对图像进行零填充,即在图像中添加一个高度为内核高度的边框和一个大小为内核宽度的宽度。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43147428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档