nn.Conv1d个人记录

nn.Conv1d参数

torch.nn.Conv1d(in_channels,       "输入中的通道数"
                out_channels,      "卷积输出的通道数"
                kernel_size,       "卷积核大小"
                stride,            "卷积步幅。默认值:1"
                padding,           "添加到输入两侧的填充。默认值:0"
                dilation,          "内核元素之间的间距。默认值:1"
                groups,            "从输入通道到输出通道的阻塞连接数。默认值:1"
                bias,              "If True,向输出添加可学习的偏差。默认:True"
                padding_mode       "'zeros', 'reflect', 'replicate' 或 'circular'. 默认:'zeros'"
                )

维度

输入维度 (batchsize,in_channels,in_len) (批大小, 数据的通道数, 数据长度)
输出维度 (batchsize ,out_channels,out_len) (批大小, 产生的通道数, 卷积后长度)

卷积核的维度 (out_channels,in_channels,kernel_size)(卷积核数量,卷积核宽,卷积核长)

卷积后的维度(batchsize,out_channels,(n+2*p-k)/s+1

举例嵌入向量维度为1

假如输入x为(batchsize,len)的序列,即嵌入向量维度为1,进行一个回归预测。

添加一个维度:

x = x.unsqueeze(1)

x维度变为(batchsize,1,in_len),相当于设置数据的通道数为1,通过conv1d输入到网络中。

#layer为定义的网络
x = layer(x)

x维度变为(batchsize,out_channels,(n+2*p-k)/s+1)。

将元素x拉平:

#第一个参数指定了新张量维度设置为与原始张量 x 的第一个维度大小相同;
#-1表示占位符,自动计算大小以确保新张量中的元素总数保持不变。
x = x.view(x.size(0), -1)

x维度变为(batchsize,out_len) ,拉平后输入到全连接层(线性层,维度(out_len,num_class))中,最终输出维度(batchsize,num_class)

参考&转载自:CNN - nn.Conv1d使用-CSDN博客

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值