您当前的位置: 首页 >  Better Bench Python

【Python-Tensorflow】tf.nn.conv1d()解析与使用

Better Bench 发布时间:2020-12-30 14:31:55 ,浏览量:7

1 作用

对一维数据进行卷积。一维卷积(conv1d)可以看作是二维卷积(conv2d)的简化。
二维卷积是将一个特征图在width和height两个方向上进行卷积操作,而一维卷积则只是在width或者说height一个方向上进行卷积。

2 参数解析

output = tf.nn.conv1d(value, filters, stride, padding)

value:要卷积的张量,形状是【batch, in_width, in_channels】,说白了就是[batch, 行数, 列数]
----batch 表示多少个样本
----表示样本的宽度
----in_channels 表示样本有多少个通道

filter :卷积的参数,形状是[filter_width, in_channels, out_channels]
----filter_width 表示与 value 进行卷积的(行数/每次)
----in_channels 表示 value 一共有多少列 = value 中的 in_channels
----out_channels 表示卷积核数目

stride :是卷积的步长

padding: ‘SAME’ 或者‘VALID表示是否边缘填充

3 举例使用

import tensorflow as tf
import numpy as np
# 定义一个矩阵a,表示需要被卷积的矩阵。
a = np.array(np.arange(1, 1 + 20).reshape([1, 10, 2]), dtype=np.float32)
# 卷积核,此处卷积核的数目为1
kernel = np.array(np.arange(1, 1 + 4), dtype=np.float32).reshape([2, 2, 1])
# 进行conv1d卷积
conv1d = tf.nn.conv1d(a, kernel, 1, 'VALID')
with tf.Session() as sess:
    # 初始化
    tf.global_variables_initializer().run()
    # 输出卷积值
    print(sess.run(conv1d))

输出
[[[ 30.]
[ 50.]
[ 70.]
[ 90.]
[110.]
[130.]
[150.]
[170.]
[190.]]]

关注
打赏
查看更多评论

Better Bench

暂无认证

  • 7浏览

    0关注

    471博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录