栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

张量流中的基本一维卷积

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

张量流中的基本一维卷积

不好意思地说,但是您的第一个代码几乎是正确的。你只是倒置

x
phi
tf.nn.conv2d

g = tf.Graph()with g.as_default():    # data shape is "[batch, in_height, in_width, in_channels]",    x = tf.Variable(np.array([0.0, 0.0, 0.0, 0.0, 1.0]).reshape(1, 1, 5, 1), name="x")    # filter shape is "[filter_height, filter_width, in_channels, out_channels]"    phi = tf.Variable(np.array([0.0, 0.5, 1.0]).reshape(1, 3, 1, 1), name="phi")    conv = tf.nn.conv2d(        x,        phi,        strides=[1, 1, 1, 1],        padding="SAME",        name="conv")

更新:
从版本r0.11开始,TensorFlow现在支持使用1D卷积

tf.nn.conv1d
。我以前在粘贴到这里的stackoverflow文档中(现在已绝种)做了一个使用它们的指南:


一维卷积指南

考虑一个基本示例,该示例的长度

10
和尺寸输入
16
。批量大小为
32
。因此,我们有一个带有输入shape的占位符
[batch_size, 10,16]

batch_size = 32x = tf.placeholder(tf.float32, [batch_size, 10, 16])

然后,我们创建一个宽度为3的过滤器,并以

16
通道作为输入,并同时输出
16
通道。

filter = tf.zeros([3, 16, 16])  # these should be real values, not 0

最后,我们应用

tf.nn.conv1d
跨距和填充:- 跨距 :整数
s
- 填充
:这与2D相似,您可以在
SAME
和之间进行选择
VALID
SAME
将输出相同的输入长度,而
VALID
不会添加零填充。

在我们的示例中,跨度为2,有效填充为空白。

output = tf.nn.conv1d(x, filter, stride=2, padding="VALID")

输出形状应为

[batch_size, 4, 16]

使用
padding="SAME"
,我们的输出形状为
[batch_size, 5, 16]



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/625276.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号