一维卷积神经网络的理解

设输入的数据维度是B x S x T

一维卷积神经网络在维度S上进行卷积

如下,设置一维卷积网络的输入通道为16维,输出通道为33维,卷积核大小为3,步长为2

# in_channels: 16
# out_channels: 33
# kernel_size: 3
m = nn.Conv1d(16, 33, 3, stride=2)
input = torch.randn(20, 16, 50)
output = m(input)
# shape of output is ([20, 33, 24])
# 最后一个维度:
# (50 - 3)/2 + 1 = 24
print(output.shape)

如上所述,输入维度为20 x 16 x 50

经过一维卷积后输出维度是20 x 33 x 24

第二个维度从16变为33,因为一维卷积输入通道为16,对应输入的第二个维度,一维卷积输出为33,对应输出的第二个维度

最后一个维度从50变为24,将参数带入公式[(n+2p-f) / s + 1]向下取整得到[(50-3)/2 + 1] = 24

 

而全连接神经网络对维度T进行卷积

使用和上述相同的输入维度,设置全连接神经网络的输入维度为input的最后一个维度50,输出维度为33

m1 = nn.Linear(50, 33)
output1 = m1(input)
# shape of output1 is ([20, 16, 33])
print(output1.shape)

将输入通过全连接神经网络后得到输出维度为20 x 16  x 33

即,全连接神经网络只在输入的最后一个维度进行卷积

 

 

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值