首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >步长2和最大汇聚层的步长卷积的维数

步长2和最大汇聚层的步长卷积的维数
EN

Stack Overflow用户
提问于 2019-08-08 00:55:16
回答 1查看 522关注 0票数 2

这个问题不是关于跨越式卷积相对于最大池的好处。当输入图像的宽度和高度不相同,填充相同的时,如何计算条纹卷积和最大池的维数,这篇文章的目的是作为一个规范源。

我的研究:当图像宽度和高度不同时,填充是“相同的”,特别是对于tensorflow,我找不到合适的公式来计算卷积的输出。同样的问题仍然存在于跨越式卷积和最大池。

我知道这个帖子。但就像我之前说过的,它不适用于不同的图像大小。我也知道这个帖子。但是它不回答发生什么事,填充是相同的(在tensorflow中)。

但是,假设我有大小为240x320**.**的图像,而我有两个版本的网络。

A版:

代码语言:javascript
复制
from tensorflow import layers as tf
x = tf.conv2d(input_im, filters=64, kernel_size=3, strides=1, padding='SAME')
x = tf.conv2d(x, filters=64, kernel_size=3, strides=1, padding='SAME')
x = tf.conv2d(x, filters=64, kernel_size=3, strides=2, padding='SAME')

B版:

代码语言:javascript
复制
from tensorflow import layers as tf
x = tf.conv2d(input_im, filters=64, kernel_size=3, strides=1, padding='SAME')
x = tf.conv2d(x, filters=64, kernel_size=3, strides=2, padding='SAME')
x = tf.max_pooling(x, 2, 2, padding='SAME')

我的问题如下。在A和B版本的每个层之后,,给定上述输入图像大小,输出维是多少?如果我在Keras中这样做,我只会使用model.summary();但是,我使用的是tensorflow,没有类似的函数。我无法在我正在工作的远程机器上运行张紧板。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-08 01:03:22

您可以通过以下方式获得产生的张量的形状。

代码语言:javascript
复制
import tensorflow as tf

input_im = tf.placeholder(tf.float32, shape=[None, 320, 240, 3])
x = tf.layers.conv2d(input_im, filters=64, kernel_size=3, strides=1, padding='SAME')
print('After conv1', x.shape)
x = tf.layers.conv2d(x, filters=64, kernel_size=3, strides=1, padding='SAME')
print('After conv2', x.shape)
x = tf.layers.conv2d(x, filters=64, kernel_size=3, strides=2, padding='SAME')
print('After conv3', x.shape)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57403919

复制
相关文章

相似问题

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