【一起深度学习吧!!!!!】24/05/03

卷积层里的多输入输出通道

  • 1、 多输入通道:
    • 代码演示:
  • 多输出通道:
    • 代码实现:

1、 多输入通道:

当输入包含多个通道时,需要构造一个输入通道与之相等的卷积核,以便进行数据互相关计算。

例如李沐老师中的例子:
输入有两个通道(前后),故卷积核也应有两个输入通道。
计算式子如下:
(11 + 22 + 43 + 54) + (00 + 11 + 32 + 43) = 56

代码演示:

import torch
from d2l import torch as d2ldef corr2d_multi_in(X, K):# 先遍历“X”和“K”的第0个维度(通道维度),再把它们加在一起return sum(d2l.corr2d(x, k) for x, k in zip(X, K))

X = torch.tensor([[[0.0, 1.0, 2.0],[3.0, 4.0, 5.0],[6.0, 7.0, 8.0]],[[1.0, 2.0, 3.0],[4.0, 5.0, 6.0],[7.0, 8.0, 9.0]]])
K = torch.tensor([[[0.0, 1.0],[2.0, 3.0]],[[1.0, 2.0],[3.0, 4.0]]])
print(X.shape)
print(K.shape)
print(corr2d_multi_in(X, K))

输出结果:
torch.Size([2, 3, 3])
torch.Size([2, 2, 2])
tensor([[ 56., 72.],
[104., 120.]])
多个输入通道并不会影响输出张量个数

zip():
zip() 是将不同张量中的数据,对应位置拼接起来形成元组。
例如:

x = [1, 2, 3]
y = [4, 5, 6]
z = [7, 8, 9]xyz = zip(x, y, z)print xyz'''结果是:'''
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

在本例子中呢,根据X,K的shape可知:
第一个元组:
tensor([[0., 1., 2.],
[3., 4., 5.],
[6., 7., 8.]])
tensor([[0., 1.],
[2., 3.]])
第二个元组:
tensor([[1., 2., 3.],
[4., 5., 6.],
[7., 8., 9.]])
tensor([[1., 2.],
[3., 4.]])

多输出通道:

多个输出通道,也就意味着有多个卷积核的存在。

代码实现:

def corr2d_multi_in_out(X, K):# 迭代“K”的第0个维度,每次都对输入“X”执行互相关运算。# 最后将所有结果都叠加在一起return torch.stack([corr2d_multi_in(X, k) for k in K], 0)
K = torch.stack((K, K + 1, K + 2), 0)
K.shape

torch.stack(),实现将多个张量堆叠起来,0表示从0维的位置插入。
K = torch.stack((K, K + 1, K + 2), 0) 如何理解这句代码呢?
K 一开始我们就定义了:
K = torch.tensor([[[0.0, 1.0],
[2.0, 3.0]],
[[1.0, 2.0],
[3.0, 4.0]]
])
那么K+1 也就是在K的基础上,将所有元素进行加一操作。
通过stack将K,K+1,K+2 三个不同的张量(三个不同的卷积核)堆叠在一起,形成了三个输出通道。与X进行互相关操作。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Ubuntu24.04安装中文输入法

Ubuntu24.04安装中文输入法 为了更好的体验,请访问个人博客 www.huerpu.cc:7000 一、添加中文语言支持 在安装中文输入法之前,首选要添加中文语言支持。选择System,点击Region & Language。 点击Manage Install Languages。 点击Insta…

repo跟git的关系

关于repo 大都讲的太复杂了,大多是从定义角度跟命令角度去讲解,其实从现实项目使用角度而言repo很好理解. 我们都知道git是用来管理项目的,多人开发过程中git功能很好用.现在我们知道一个项目会用一个git仓库去管理,项目的开发过程中会使用git创建分支之类的来更好的维护项目代…

css 文字描边

又是抄样式的一天。这次是百度地图。实现了问题和图形描边的效果。 代码: .BMap_scaleTxt.dark {color: #fff;text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; } 效果:

安装numpy遇到的问题

安装numpy的时候提示无法安装如下: (venv) E:\works\AI\venv\Scripts>pip install numpy pandas matplotlib jupyter -i https://pypi.douban.com/simple Looking in indexes: https://pypi.douban.com/simple WARNING: Retrying (Retry(total4, connectNone, r…

分析师常用商业分析模型

一、背景 在用户调研中,我们发现分析师对商业分析模型的使用还是比较频繁。本文主要对用户调研结果中的分析师常用商业分析模型以及一些业界经典的商业分析模型进行分析,并梳理出执行落地流程,以此来指导分析师工具设计分析功能的引导性。 …

软件测试--接口测试

接口测试:直接对后端服务的测试,是服务端性能测试的基础 接口:系统之间数据交互的通道 接口测试:校验接口响应数据与预期数据是否一致

【JavaEE初阶系列】——Servlet运行原理以及Servlet API详解

目录 🚩Servlet运行原理 🚩Servlet API 详解 🎓HttpServlet核心方法 🎓HttpServletRequest核心方法 🎈核心方法的使用 🔴获取请求中的参数 💻query string 💻直接通过form表…

回归分析的理解

1.是什么: 2.回归问题的求解: 首先是根据之前的数据确定变量和因变量的关系根据关系去预测目标数据根据结果做出判断 2.1如何找到关系? y’是根据模型生成的预测结果: y’axb,而我们的目的是y’和y(正确的结果)之间…

构造照亮世界——快速沃尔什变换 (FWT)

博客园 我的博客 快速沃尔什变换解决的卷积问题 快速沃尔什变换(FWT)是解决这样一类卷积问题: ci∑ij⊙kajbkc_i\sum_{ij\odot k}a_jb_k ci​ij⊙k∑​aj​bk​其中,⊙\odot⊙ 是位运算的一种。举个例子,给定数列 a,…

二叉搜索树相关

二叉搜索树 定义:对二叉搜索树的一些操作基本结构Insert操作Find操作Erase操作 InOrder遍历二叉树操作模拟字典模拟统计次数 定义: 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:若它的左子树不为空&a…

品鉴中的艺术表达:如何将红酒与绘画、雕塑等艺术形式相结合

品鉴雷盛红酒不仅是一种味觉的享受,更是一种艺术的体验。将雷盛红酒与绘画、雕塑等艺术形式相结合,能够创造出与众不同的审美体验,进一步丰富品鉴的内涵。 首先,绘画作为视觉艺术的一种表现形式,能够通过色彩和构图来传…

Linux:进程等待 进程替换

Linux:进程等待 & 进程替换 进程等待wait接口statuswaitpid接口 进程替换exec系列接口 当一个进程死亡后,会变成僵尸进程,此时进程的PCB被保留,等待父进程将该PCB回收。那么父进程要如何回收这个僵尸进程的PCB呢?父…

47.Redis学习笔记

小林coding -> 图解redis的学习笔记 文章目录 Rediswindwos安装docker安装redis启动redis使用RDM访问虚拟机中的redispython连接redis缓存穿透、击穿、雪崩基本数据类型高级数据类型高并发指标布隆过滤器分布式锁Redis 的有序集合底层为什么要用跳表,而不用平衡…

什么是 AI Agent ?

(注:本文为小报童精选文章。已订阅小报童或加入知识星球「玉树芝兰」用户请勿重复付费) 讲解的同时,也给你推荐一些实用的学习资源。 AI agent (智能体 / 代理)这个词儿最近非常流行,似乎「大语…

目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)

文章目录 一、目标检测介绍二、YOLOv7介绍三、源码/论文获取四、环境搭建4.1 环境检测 五、数据集准备六、 模型训练七、模型验证八、模型测试九、错误总结9.1 错误1-numpy jas mp attribute int9.2 错误2-测试代码未能跑出检测框9.3 错误3- Command git tag returned non-zero…

RabbitMQ高级(MQ的问题,消息可靠性,死信交换机,惰性队列,MQ集群)【详解】

目录 一、MQ的问题 1. 问题说明 2. 准备代码环境 1 创建project 2 创建生产者模块 3 创建消费者模块 二、消息可靠性 1. 介绍 2. 生产者确认机制 3. MQ消息持久化 4. 消费者确认机制 5. 消费者auto模式的失败重试 6. 小结 三、死信交换机和延迟消息 1. 介绍 2. …

【EasySpider】EasySpider+mysql执行配置异常

问题 使用易采集工具操作时候,遇到一个执行异常,后来发现没有选择数据类型 Loading stealth.min.js MySQL config file path: ./mysql_config.json 成功连接到数据库。 Successfully connected to the database. Traceback (most recent call last):…

湘潭大学数据库作业题完整答案

作业一: 考虑如下所示的关系数据库。这些关系上适当的主码是什么? 职工(姓名,街道,城市) 工作(姓名,公司名,工资) 公司(公司名,城市&a…

45 套接字

本节重点 认识ip地址,端口号,网络字节序等网络编程中的基本概念 学习scoket,api的基本用法 能够实现一个简单的udp客户端/服务端 能够实现一个简单的tcp客户端/服务器(但链接版本,多进程版本,多线程版本&a…

设计严谨,思路绝妙!这篇高级孟德尔随机化研究:药靶、共定位,发文一区(IF=8.9)!...

现在越来越多的学者在用孟德尔随机化高级方法发文,今天我们看的这篇这篇药靶孟德尔随机化,还用了共定位分析方法,亮点在于它的设计严谨,思路绝妙,一起看下去吧! 2024年4月21日,四川大学华西医院…