6-4 多输入多输出通道

news/2025/9/21 23:39:43/文章来源:https://www.cnblogs.com/xxb667/p/19104380

1.多输入通道

import torch
from d2l import torch as d2l
def corr2d_multi_in(X, K):# 先遍历 X 和 K 的第0个维度(通道维度),再把他们加在一起# 把所有配对得到的互相关结果逐元素相加,得到一个总的输出特征图。# 把输入列表 X 和核列表 K 按位置配对,返回一个迭代器,每次取出一个 (x, k) 对。return sum(d2l.corr2d(x, k) for x, k in zip(X, K))
# 构造输入张量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]]])corr2d_multi_in(X, K)
tensor([[ 56.,  72.],[104., 120.]])

2.多输出通道

代码片段 含义
K 是一个 list of kernels,即 K = [k0, k1, …, k_{out-1}],每个 k_i 是一个 多通道核(形状为 (C_in, kH, kW))。
corr2d_multi_in(X, k) 对多通道输入 X(形状 (C_in, H, W))和多通道核 k 做“多输入单输出”的卷积,返回一个 2-D 特征图(形状 (H_out, W_out))。
[corr2d_multi_in(X, k) for k in K] 用每个核 k 都算一次,得到 len(K) 个 2-D 特征图,组成一个 list of 2-D tensors
torch.stack(..., 0) 把这些 2-D 张量沿着 第 0 维(新维度) 堆叠,形成一个 3-D 张量,形状为 (C_out, H_out, W_out),其中 C_out = len(K)
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.Size([3, 2, 2, 2])
corr2d_multi_in_out(X, K)
tensor([[[ 56.,  72.],[104., 120.]],[[ 76., 100.],[148., 172.]],[[ 96., 128.],[192., 224.]]])

1x1 卷积层

def corr2d_multi_in_out_1x1(X, K):c_i, h, w = X.shapec_o = K.shape[0]X = X.reshape((c_i, h*w))K = K.reshape((c_o, c_i))# 全连接层中的矩阵乘法Y = torch.matmul(K, X)return Y.reshape((c_o, h, w))
  1. X = torch.normal(0, 1, (3, 3, 3))
  • 从标准正态分布 N(0,1) 里随机采样
  • 得到一个 3×3×3 的张量
  • 含义:3 个通道,每个通道是 3×3 的 feature map
    形状等价于 (C_in, H, W) = (3, 3, 3)
  1. K = torch.normal(0, 1, (2, 3, 1, 1))
  • 同样从 N(0,1) 采样
  • 得到一个 2×3×1×1 的张量
  • 含义:2 个卷积核,每个核有 3 个通道,大小是 1×1
    形状等价于 (C_out, C_in, kH, kW) = (2, 3, 1, 1)
# 验证
X = torch.normal(0, 1, (3, 3, 3))
K = torch.normal(0, 1, (2, 3, 1, 1))
Y1 = corr2d_multi_in_out_1x1(X, K)
Y2 = corr2d_multi_in_out(X, K)
assert float(torch.abs(Y1-Y2).sum()) < 1e-16
print(Y1)
print(Y2)
tensor([[[-0.1984,  2.5553,  1.5839],[-0.2058,  1.2268, -0.9894],[ 0.2426, -0.1919, -1.0239]],[[-0.4502, -2.3320, -0.1471],[-0.0087,  0.0856,  1.3771],[-0.5613, -2.6421,  0.3126]]])
tensor([[[-0.1984,  2.5553,  1.5839],[-0.2058,  1.2268, -0.9894],[ 0.2426, -0.1919, -1.0239]],[[-0.4502, -2.3320, -0.1471],[-0.0087,  0.0856,  1.3771],[-0.5613, -2.6421,  0.3126]]])

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

6-6 卷积神经网络LeNet

本章主要介绍卷积神经网络LeNet的实现1.LeNet import torch from torch import nn from d2l import torch as d2lnet = nn.Sequential(nn.Conv2d(1, 6, kernel_size=5, padding=2), nn.Sigmoid(),nn.AvgPool2d(kernel_…

5-5读写文件

本章主要介绍将训练后的数据保存到文件中1.加载和保存张量 import torch from torch import nn from torch.nn import functional as Fx = torch.arange(4) # 把 Python 对象 x 打包成字节流,原封不动地写进文件 x-fi…

6-2图像卷积

本章主要介绍二维卷积和图像卷积的计算1.二维卷积计算 import torch from torch import nn from d2l import torch as d2l定义二维卷积函数 def corr2d(X, K):计算二维互相关运算h, w = K.shapeY = torch.zeros((X.sha…

二叉树的高度和判断平衡二叉树

LCR 176. 判断是否为平衡二叉树 利用递归得出结果,平衡二叉树成立的条件:左子树和右子树之差的绝对值小于等于 1,也就是当左子树高度 - 右子树高度的差值等于 0或者等于1的时候该平衡二叉树成立。 那么我们可以利用…

20250921 之所思 - 人生如梦

20250921 之所思一大早就收到老板要求每天晚上十点开会的信息,顿时心情很糟,因为晚上十点开会,开完就已经接近十二点,很害怕自己会彻夜难眠,然后起床就一直在想这件事,顿时整个早上的心情都受到了影响。还为这个…

UE5 Cook数据结构

UE Cook 数据结构 本篇讲非 MPCook 的数据结构1. FPackageDatas核心类 FPackageDatas 是管理 CookOnTheFlyServer 里的所有 PackageData 的列表的类。PackageDatas 是一个关联数组,存储 COTFS 需要的 package(如 coo…

通过微信对客服系统客户进行消息提醒,比如客户快过期了,访客发来的消息也是通过模板消息通知给客服

vx: llike620我的客服系统已经通过自己开发的形式实现了对接 客户服务到期提醒​​和​​客服消息通知​​——正是模板消息功能的典型和优秀应用案例。 作为开发者,您肯定关心如何将现有系统做得更健壮、更高效。以…

WPF治具软件模板分享 - Dragonet

目录WPF治具软件模板分享程序功能介绍功能实现导航功能程序配置日志功能界面介绍 WPF治具软件模板分享 运行环境:VS2022 .NET 8.0 完整项目:Gitee仓库 项目重命名方法参考:网页概要:针对治具单机软件制作了一个设…

基于WOA鲸鱼优化的XGBoost序列预测算法matlab仿真

1.算法运行效果图预览 (完整程序运行后无水印)2.算法运行软件版本 matlab2024b3.部分核心程序 (完整版代码包含详细中文注释和操作步骤视频)%最大迭代次数 paramters.maxiter = 50; paramters.tr…

软件工程第二次作业——个人项目

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/Class12Grade23ComputerScience这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/Class12Grade23ComputerScience/homework/13468这个作业的目标 &…

微信扫码二维码,关注绑定公众号提醒,利用微信公众号的模板消息进行消息通知的推送

gofly.v1kf.com vx: llike620我的客服系统已经通过自己开发的形式实现了对接希望通过微信扫码关注公众号,并利用模板消息功能实现消息推送。这是一个非常实用的需求,尤其在服务通知和用户互动方面能极大提升体验。其…

Arch下实现人脸识别登录:howdy的配置与使用

安装Howdy 查阅Arch Linux中文Wiki的教程[1]可知:howdy包已无法在最新的Arch Linux上正常使用,推荐安装howdy-git包那么,就 yay -S howdy-git查看摄像头路径 如果电脑只有一个摄像头的话,一般而言,摄像头的路径是…

fedora无法看视频?编解码器详细安装教程【转发】

fedora无法看视频?编解码器详细安装教程【转发】原文:https://zhuanlan.zhihu.com/p/26494803528 启用rpm fusion 包 free包: sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-relea…

Winform的Formborder.None情况下,解决不能拖动的问题

using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Cont…

Salephpscripts Web_Directory_Free SQL注入漏洞利用分析(CVE-2024-3552)

本文详细分析了Salephpscripts Web_Directory_Free插件中存在的SQL注入漏洞(CVE-2024-3552),包含漏洞环境搭建方法和利用步骤,涉及Docker容器部署和本地测试环境配置。Exploit for SQL Injection in Salephpscript…

12306高并发架构设计:基于区间计数器的网关层拒单方案

引言 在上一篇文章《重新理解12306:它卖的从来不是“库存”,而是“状态”》,我们深入探讨了12306的业务模型核心:它不是简单的库存管理系统,而是基于座位段的状态管理。每个座位被拆分为多个段(例如A-B、B-C、C-…

各位同学,大家好!我想请大家回忆一段我们在刘集中学的故事,和我单独联系。我想把这些故事写出来保存。欢迎与我分享!谢谢!

各位同学,大家好!我想请大家回忆一段我们在刘集中学的故事,和我单独联系。我想把这些故事写出来保存。欢迎与我分享!谢谢! 初三时周杰伦的歌曲开始出现,有段时间教室早上会播放他的歌曲,又《双截棍》《霍元甲》…

实用指南:centos sshd:xxx.xxx.xxx.xxx:allow 如何设置

实用指南:centos sshd:xxx.xxx.xxx.xxx:allow 如何设置pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas&…

fedora无法看视频?编解码器详细安装教程

fedora无法看视频?编解码器详细安装教程启用rpm fusion 包 free包: sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm nofree包: sudo dnf ins…

vite7-vue3-os网页os管理|vue3+vite7+arco.design网页pc版webos系统

最新研发Vite7+Vue3+Pinia3+Arco仿macos/windows网页版webos管理系统。 vite7-webos原创基于vite7.1+vue3.5+pinia3+arco-design+echarts从0-1搭建pc网页版os式管理系统模板。支持macos+windows两种桌面布局风格、自定…