【Pytorch】Conv1d

在这里插入图片描述

conv1d 先看看官方文档

在这里插入图片描述

再来个简单的例子

import torch
import numpy as np
import torch.nn as nn

data = np.arange(1, 13).reshape([1, 4, 3])
data = torch.tensor(data, dtype=torch.float)
print("[data]:\n", data)
conv = nn.Conv1d(in_channels=4, out_channels=1, kernel_size=3, stride=1, padding=0, bias=False)
print("[weight]:\n", conv.weight)
print("[element-wise multiply]:", (data*conv.weight).sum().item())
output = conv(data)
print("[output size]:", output.size())
print("[output]:", output)

"""
[data]:
 tensor([[[ 1.,  2.,  3.],
         [ 4.,  5.,  6.],
         [ 7.,  8.,  9.],
         [10., 11., 12.]]])
[weight]:
 Parameter containing:
tensor([[[ 0.2599, -0.1309, -0.2319],
         [-0.1974, -0.0371, -0.1319],
         [-0.2190, -0.1151,  0.0644],
         [-0.0862, -0.2313,  0.1159]]], requires_grad=True)
[element-wise multiply]: -6.354348182678223
[output size]: torch.Size([1, 1, 1])
[output]: tensor([[[-6.3543]]], grad_fn=<SqueezeBackward1>)
"""

2D卷积是以 n 个 3D tensor 在二维平面滑动,所以叫 2D,标准2D卷积的卷积核 C C C 和输入特征图的 C i n C_{in} Cin 应该保持一致

在这里插入图片描述
忽略 C 的 2D conv 演示,金字塔,哈哈哈
在这里插入图片描述

同理

1D 卷积是以 n 个 2D tensor 在一维平面滑动,标准 1D 卷积核的 h 和 输入的 h 应该保持一致,别潜意识的理解为 h 只能等于 1,像下图这样,h = 1

在这里插入图片描述

再看一个稍微复杂的例子

eg:

import torch
import numpy as np
import torch.nn as nn

data = np.arange(1, 13).reshape([1, 4, 3])
data = torch.tensor(data, dtype=torch.float)
print("[data]:\n", data)
conv = nn.Conv1d(in_channels=4, out_channels=2, kernel_size=3, stride=1, padding=0, bias=False)
print("[weight]:\n", conv.weight)
print("[element-wise multiply]:", (data*conv.weight[0]).sum().item())
print("[element-wise multiply]:", (data*conv.weight[1]).sum().item())
output = conv(data)
print("[output size]:", output.size())
print("[output]:", output)

"""
[data]:
 tensor([[[ 1.,  2.,  3.],
         [ 4.,  5.,  6.],
         [ 7.,  8.,  9.],
         [10., 11., 12.]]])
[weight]:
 Parameter containing:
tensor([[[-0.1565,  0.2598, -0.2152],
         [-0.0130, -0.1495, -0.0799],
         [-0.2842, -0.1508, -0.1939],
         [-0.1133, -0.2627,  0.1949]],

        [[ 0.0576,  0.1712, -0.1465],
         [-0.2060,  0.1648,  0.2039],
         [ 0.2221, -0.1940,  0.1126],
         [-0.2098, -0.0749,  0.1407]]], requires_grad=True)
[element-wise multiply]: -8.187724113464355
[element-wise multiply]: 0.9679145812988281
[output size]: torch.Size([1, 2, 1])
[output]: tensor([[[-8.1877],
         [ 0.9679]]], grad_fn=<SqueezeBackward1>)
"""

结合可视化看看 1D 卷积是怎么滑动的(来自 添加链接描述)

eg

m = nn.Conv1d(4, 2, 3, stride=2)
input = torch.randn(1, 4, 9)
print(input)
output = m(input)
print(output)
print(output.size())

output

tensor([[[-0.2105, -1.0958,  0.7299,  1.1003,  2.3175,  0.8186, -1.7510,  -0.1925,  0.8591],
         [ 1.0991, -0.3016,  1.5633,  0.6162,  0.3150,  1.0413,  1.0571,  -0.7014,  0.2239],
         [-0.0658,  0.4755, -0.6653, -0.0696,  0.3483, -0.0360, -0.4665,   1.2606,  1.3365],
         [-0.0186, -1.1802, -0.8835, -1.1813, -0.5145, -0.0534, -1.2568,   0.3211, -2.4793]]])
         
tensor([[[-0.8012,  0.0589,  0.1576, -0.8222],
         [-0.8231, -0.4233,  0.7178, -0.6621]]], grad_fn=<SqueezeBackward1>)

torch.Size([1, 2, 4])

第一个卷积核
在这里插入图片描述
第二个卷积核
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/554208.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

常见面试算法题-数组二叉数

■ 题目描述 【数组二叉树】 二叉树也可以用数组来存储&#xff0c;给定一个数组&#xff0c;树的根节点的值存储在下标1&#xff0c;对于存储在下标N的节点&#xff0c;它的左子节点和右子节点分别存储在下标2*N和2*N1&#xff0c;并且我们用值-1代表一个节点为空。 给定一…

Interpretable3D:一种用于3D点云的即时可解释分类器

Interpretable3D&#xff1a;一种用于3D点云的即时可解释分类器 paper github

【病毒分析】phobos家族2700变种加密器分析报告

1.样本信息 ⽂件名Fast.exeSHA2563c95bd8e14f6aa92e94ec3318d23a8cc34192259MD528c6c0b4f54912ec73c9bfeb3f2a8f07运行平台Windows 2.感染迹象 2.1 文件结构分析 整体文件大小为200k,把冗余数据去掉,发现仍然可以运行,大小变为56k。与phobos家族的标准一致。 2.1.1 勒索信 …

python笔记 | 哥德巴赫猜想

哥德巴赫猜想&#xff1a;每个不小于6的偶数都可以表示成两个素数之和。 素数&#xff1a;只能被1和自身整除的正整数。就是大于1且除了1和它本身之外没有其他因数的数。例如&#xff0c;2、3、5、7、11等都是素数&#xff0c;而4、6、8、9等则不是素数。 下面这段Python代码…

Day 16 Linux服务管理和日志管理

服务管理 启动服务&#xff1a;systemctl start 服务名 停止服务&#xff1a;systemctl stop 服务名 重启服务&#xff1a;systemctl restart 服务名 重新加载配置文件&#xff1a;systemctl reload 服务名&#xff08;期间并不停止服务进程&#xff09; 查看服务运行状态…

十、OOP面向对象程序设计(五)

1、什么是接口以及接口的运用 1)接口定义 Java接口(Interface),是一些列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能。) 2)接口定义的一般形式 修饰符:…

git使用(上传自己的项目到github上)

之前最早使用的方式是使用as上面的菜单功能VCS——>share project on github,,, 现在我们使用命令的方法上传。 第一步&#xff1a;在github上面Create a new repository 这里输入仓库的名称和描述&#xff0c;勾选Add a README file&#xff0c;这会在创建仓库的时候添加…

一些重新开始面试之后的八股文汇总

一、内存中各项名词说明 1、机器内存概念说明 linux中的free命令可以查看机器的内存使用情况&#xff0c;vmstat命令也可以 其中不容易被理解的是&#xff1a; 内存缓冲/存数&#xff08;buffer/cached&#xff09; 1.buffers和cache也是RAM划分出来的一部分地址空间 2.buff…

css div添加滚动条(附加源码)

问题描述 先看效果图。 每个商品通过后台接口查询出来&#xff0c;前端v-for进行显示&#xff0c;所以这块我要添加一个滚动条&#xff0c;我不确定有多少个商品。 解决方案 实现思路&#xff1a;div设置高度为1000rpx&#xff08;我这边是举例&#xff0c;根据实际场景去设…

Jenkins 流水线多阶段构建

Jenkins流水线配置遇到 无法识别的。需要使用 自定义环境 项。 比如官网的在流水线中使用Docker Started by remote host 172.17.0.1 Obtained Jenkinsfile from git http://10.99.20.51:8082/root/java-devops-demo.git org.codehaus.groovy.control.MultipleCompilationErro…

Ribbon 添加右侧区域菜单项

效果图如下所示&#xff1a; 类似与上图效果所示&#xff0c;代码如下&#xff1a; RibbonPage* pageHome1 ribbonBar()->addPage(tr("Home")); //实现代码&#xff1a; { QMenu* menuOptions ribbonBar()->addMenu(tr("Options"))…

节点加密技术:保障数据传输安全的新利器

随着信息技术的快速发展&#xff0c;网络数据的安全传输问题日益凸显。节点加密技术作为一种新兴的加密手段&#xff0c;正逐渐成为保障数据传输安全的重要工具。本文将探讨节点加密技术的原理、应用及其优势&#xff0c;并分析其未来的发展趋势。 节点加密技术的原理 节点加密…

腾讯InstantMesh30秒图片生成3D模型;微软实时生成会说话的头像VASA;由 AI 创作的恶搞视频片段Sitcom Simulator

✨ 1: InstantMesh 30 秒内从一张图片生成 3D 模型 InstantMesh是一个基于单张图片&#xff0c;利用先进的稀疏视图大型重建模型&#xff08;LRM&#xff09;架构&#xff0c;快速生成3D网格&#xff08;Mesh&#xff09;的工具。这个框架允许用户将2D图片转换成3D模型&#…

学习笔记------时序约束之时钟周期约束

本文摘自《VIVADO从此开始》高亚军 主时钟周期约束 主时钟&#xff0c;即从FPGA的全局时钟引脚进入的时钟或者由高速收发器输出的时钟。 对于时钟约束&#xff0c;有三个要素描述&#xff1a;时钟源&#xff0c;占空比和时钟周期。 单端时钟输入 这里我们新建一个工程&#x…

如何使用Flask搭建web程序框架并实现无公网IP远程访问本地程序

文章目录 前言1. 安装部署Flask并制作SayHello问答界面2. 安装Cpolar内网穿透3. 配置Flask的问答界面公网访问地址4. 公网远程访问Flask的问答界面 前言 Flask是一个Python编写的Web微框架&#xff0c;让我们可以使用Python语言快速实现一个网站或Web服务&#xff0c;本期教程…

HarmonyOS NEXT 使用XComponent + Vsync 实现自定义动画

介绍 XComponent 提供了应用在 native 侧调用 OpenGLES 图形接口的能力&#xff0c;本文主要介绍如何配合 Vsync 事件&#xff0c;完成自定义动画。在这种实现方式下&#xff0c;自定义动画的绘制不在 UI 主线程中完成&#xff0c;即使主线程卡顿&#xff0c;动画效果也不会受…

汽车充电桩充电效率的四大决定因素

随着电动汽车的快速普及&#xff0c;交流充电桩作为电动汽车的充电基础设施&#xff0c;其充电效率受到了广泛的关注。接下来&#xff0c;我们将深入探讨交流充电桩的充电效率&#xff0c;包括充电效率的定义、影响因素以及提升方法。 充电效率的定义 交流充电桩的充电效率指的…

基于Springboot+Vue的Java项目-网上超市系统开发实战(附演示视频+源码+LW)

大家好&#xff01;我是程序员一帆&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &am…

构建现代网页的引擎:WebKit架构揭秘

在网络信息迅猛增长的今天&#xff0c;浏览器已经成为我们接触世界的重要窗口。而在浏览器的核心&#xff0c;有一个强大的引擎在默默地支撑着网页的渲染和执行&#xff0c;这就是WebKit。 WebKit的核心组件 WebKit作为开源浏览器引擎&#xff0c;由苹果公司发展而来&#x…

前端编程环境配置

目录 vscode插件的安装快捷键常用的快捷键自定义快捷键 vscode 插件的安装 汉化&#xff0c;将vscode改为中文版 Chinese (Simplified)修改开始标签&#xff0c;结束标签跟着一起变化 Auto Rename Tag颜色主题 One Dark Pro格式化代码(建议使用系统自带) 配置&#xff1a…
最新文章