当前位置: 首页 > news >正文

pytorch.nn.Conv1d详解

通读了从论文中找的代码,终于找到这个痛点了!
以下详解nn.Conv1d方法


1 参数说明

in_channels(int) – 输入信号的通道。
out_channels(int) – 卷积产生的通道。
kernel_size(int or tuple) - 卷积核的尺寸,经测试后卷积核的大小应为in_channels(行)*kernel_size(列)
stride(int or tuple, optional) - 卷积步长
padding(int or tuple, optional) - 输入的每一条边补充0的层数
dilation(int or tuple, `optional`) – 卷积核元素之间的间距
groups(int, optional) – 从输入通道到输出通道的阻塞连接数
bias(bool, optional) - 如果bias = True,添加偏置

2、具体例子

import torch
import torch.nn as nn
# 创建输入张量
# 可以看作三维数组,举个例子,65个句子
# 每个句子有9个字,每个字生成了144维的词向量
x = torch.randn(65, 9, 144)
# 创建卷积
conv = nn.Conv1d(in_channels=9, out_channels=64, kernel_size=16,stride=8)
out = conv(x)
print(out.shape)

输出结果:torch.Size([65, 64, 17])
解释:卷积操作后的参数分别表示batch数量(与in_channels相关)、卷积核数量(与out_channels相关)、卷积结果的数量(与kernel_sizestride相关)。
前两个参数好理解,最后一个参数再详细说一下:在计算时可以直接忽略第一个参数直接当做一个9x144的二维数组和一个9x16的卷积核做卷积运算,卷积核移动步长为8:
在这里插入图片描述
如上图所示,这是其中一个卷积核在数据上的前两步计算过程。

http://www.lryc.cn/news/235962.html

相关文章:

  • 大数据HCIE成神之路之数学(2)——线性代数
  • 音视频学习(十八)——使用ffmepg实现视音频解码
  • nginx的GeoIP模块
  • mac控制台命令小技巧
  • Postman:API测试之Postman使用完全指南
  • Flume学习笔记(3)—— Flume 自定义组件
  • go的字符切片和字符串互转
  • 所见即所得的动画效果:Animate.css
  • ERR:Navicat连接Sql Server报错
  • python算法例10 整数转换为罗马数字
  • springboot引入第三方jar包放到项目目录中,添加web.xml
  • 大数据研发工程师课前环境搭建
  • Qt图形视图框架:QGraphicsItem详解
  • defer和async
  • 数电实验-----实现74LS139芯片扩展为3-8译码器以及应用(Quartus II )
  • 洋葱架构、三层架构及两者区别
  • JavaEE进阶学习:Spring 的创建和使用
  • 音视频项目—基于FFmpeg和SDL的音视频播放器解析(十四)
  • Tomcat无法映射到activiti-app导致activiti无法启动页面
  • c语言常见的面试问题
  • image图片之间的间隙消除
  • asp.net心理健康管理系统VS开发sqlserver数据库web结构c#编程计算机网页项目
  • CnosDB有主复制演进历程
  • 【前沿学习】美国零信任架构发展现状与趋势研究
  • Toolformer论文阅读笔记(简略版)
  • Pytorch torch.dot、torch.mv、torch.mm、torch.norm的用法详解
  • Jave 定时任务:使用Timer类执行定时任务为何会发生任务阻塞?如何解决?
  • Visual Studio Code配置c/c++环境
  • 漏洞利用工具的编写
  • ChatGPT之父被OpenAI解雇