《动手学深度学习》-21卷积层里的多输入多输出通道

news2025/1/10 2:17:54

沐神版《动手学深度学习》学习笔记,记录学习过程,详细的内容请大家购买书籍查阅。

b站视频链接
开源教程链接

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

大家通常最在意的一个超参数:
在这里插入图片描述
RGB图像不仅仅是单纯的矩阵,是3 x h x w的形状:
在这里插入图片描述
多输入通道计算过程:
在这里插入图片描述
在这里插入图片描述
到这里为止,不管有多少个输入通道,我们都会得到单输出通道,想要输出也有多个通道,我们可以有多个三维卷积核,每个核生成一个输出通道。

多输出通道计算过程:
在这里插入图片描述
每个输出通道可以识别不同模式,输入通道核识别并组合输入中的模式:
在这里插入图片描述
1x1卷积层的唯一计算发生在通道上:
在这里插入图片描述
计算复杂度:
在这里插入图片描述
输出通道数是卷积层的超参数

每个输入通道有独立的二维卷积核,所有通道结果相加得到一个输出通道结果

每个输出通道有独立的三维卷积核
在这里插入图片描述

动手学

多输入通道

import torch
from d2l import torch as d2l

def 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, K.shape)
corr2d_multi_in(X, K)
torch.Size([2, 3, 3]) torch.Size([2, 2, 2])
tensor([[ 56.,  72.],
        [104., 120.]])

多输出通道

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.shape
    c_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))

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-6
Y1.shape, Y2.shape
(torch.Size([2, 3, 3]), torch.Size([2, 3, 3]))
# 调用pytorch
from torch import nn
conv2d = nn.Conv2d(1, 1, kernel_size=3, padding=1, stride=2) # 输出通道、输入通道、卷积核尺寸、步幅大小

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

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

相关文章

基于Python的图像信息隐藏技术的设计与实现

博主介绍&#xff1a;✌csdn特邀作者、博客专家、java领域优质创作者、博客之星&#xff0c;擅长Java、微信小程序、Python、Android等技术&#xff0c;专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推…

使用高斯滤波器进行表面开放轮廓过滤研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

『已解决』VMware 打开运行一段时间后卡死,CPU占比增至100%

&#x1f4e3;读完这篇文章里你能收获到 通过图文方式解决VMware 打开运行一段时间后卡死&#xff0c;CPU占比增至100%的问题 文章目录 一、系统环境二、问题描述三、解决办法1. 检查Hyper-V没有开启2. 禁止HV主机服务3. 设置Hyper-V服务为关闭状态4. 重启电脑 一、系统环境 …

开源跨境电商ERP的优缺点分析,你知道几个?

作为电子商务领域的专家&#xff0c;我们不得不关注开源跨境电商ERP的崛起。在这篇文章中&#xff0c;我们将深入探讨开源跨境电商ERP的优点和缺点&#xff0c;帮助您更好地了解这一新兴技术的潜力与挑战。 1. 开源跨境电商ERP的优点 开源跨境电商ERP相较于传统的商业ERP系统…

概念解析 | 全极化雷达成像

注1&#xff1a;本文系“概念解析”系列之一&#xff0c;致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是&#xff1a;全极化雷达成像。 全极化雷达成像** 高分辨全极化昆虫雷达极化校准与昆虫体轴方向估计 一、背景介绍 雷达是20世纪的一项伟大发明&#xff0…

pip安装torch_scatter, torch_sparse报错

在安装torch_geometric时还需要安装torch_scatter和torch_sparse&#xff0c;但是直接使用pip install安装会报错&#xff0c;报错内容是缺乏依赖项。查了好久发现直接下载whl到本地再使用pip安装时最不容易出错的&#xff0c;这里记录一下&#xff0c;避免再次掉坑。 首先需要…

软文稿件写作方法有哪些?

软文稿件是一种以软性推广为目的的文章&#xff0c;旨在通过正面、有吸引力的方式向读者传递信息和促进品牌或产品的推广。 接下来伯乐网络传媒给大家分享一些常见的软文稿件写作方法&#xff0c;通过运用这些技巧和策略&#xff0c;可以帮助你撰写出更具吸引力和实用性的软文…

国产化-达梦数据库安装2

目录 DM8数据库下载地址 安装一路狂飙next 启动服务 随着国家政府的推广、越来越多的政府项目、在系统部署需要采购国产服务器、数据库等 DM8数据库下载地址 https://eco.dameng.com/download/ 安装一路狂飙next windos安装比较简单直接next即可 仅仅记录几个关键疑问地方k…

Nature:LK-99 不是超导体

研究人员似乎已经解开了 LK-99 之谜。科学探测工作发现了这种材料不是超导体的证据&#xff0c;并澄清了它的实际特性。 这一结论打破了人们对 LK-99 —— 一种铜、铅、磷和氧的化合物&#xff08;标志着发现了第一种在室温和环境压力下工作的超导体&#xff09;的希望。相反&a…

Jmeter分布式性能压测-常见问题+解决

前言 安装常见问题问题1&#xff1a; [rootiZwz95j86y235aroi85ht0Z bin]# ./jmeter-server Created remote object: UnicastServerRef2 [liveRef: [endpoint:[:39308](local),objID:[24e78a63:16243c70661:-7fff, 7492480871343944173]]] Server failed to start: java.rmi.…

大学生创业出路【第二弹】科创训练营

目录 &#x1f680;一、我从哪里了解到的训练营 &#x1f680;二、训练营里学习和日常 &#x1f50e;学习 &#x1f50e;环境和设备 &#x1f50e;遇到的人 &#x1f50e;团队记录视频 &#x1f680;三、感悟 ​​​​个人主页&#xff1a;一天三顿-不喝奶茶&#x1f39…

性能测试没那么难!RunnerGo,简单、好用

在当前软件测试行业&#xff0c;熟练掌握性能测试已经是测试工程师们面试的敲门砖了&#xff0c;当然还有很多测试朋友们每天的工作更多的是点点点&#xff0c;性能方面可能也只是做过简单的并发测试&#xff0c;对于编写脚本&#xff0c;搭建环境方面也比较陌生。今天这篇文章…

Stable Diffusion 系列教程 | 快速入门

目录 1.基本原理 2.主流方式 3.配置要求 3.1 显卡方面 4.基本界面 4.1 模型设置区 4.2 菜单栏区域 4.3 提示词区 4.4 出图设置区 5.文生图基本操作流程 5.1 选用模型&#xff0c;撰写提示词 5.2 进行出图设置 5.3 再次出图&#xff01; 5.4 保存 1.基本原理 在20…

友思特干货|如何克服边缘视觉的带宽限制?

引言 在追求更高像素、帧率和空间分辨率的视觉行业&#xff0c;边缘视觉与图像采集面临巨大挑战。其中&#xff0c;1GigE相机输出已不足&#xff0c;传输问题有待解决。与此同时&#xff0c;图像传感器的快速发展也使接口带宽成为瓶颈。 友思特提出创新解决方案&#xff0c;通…

中国最大规模量子计算云平台重磅发布!

8月18日下午&#xff0c;2023中国算力大会第二届“西部数谷”算力产业大会算领未来“8大成果”环节中&#xff0c;中国电科与中国移动携手发布“全国规模最大的量子计算云平台”&#xff0c;这是国内首个央企合作量子计算云平台&#xff0c;也是业界第一次实现“量子与通用算力…

探索PDF校对:为何这是现代数字文档的关键步骤

在今日的数字化浪潮中&#xff0c;文档的创建与分享从未如此频繁。尤其是PDF&#xff0c;作为一个普遍接受的标准文件格式&#xff0c;其在企业、学术和日常生活中的应用已经无处不在。但随之而来的挑战是如何确保文档的准确性和专业性。让我们深入探索PDF校对的重要性以及它为…

Oracle通过参数指定字段

需求&#xff1a;获取月份的值 家人们&#xff0c;刚开始我想传入月份字段作为参数去实现&#xff0c;没实现&#xff0c;然后换了种方式处理了。 解决方案 ## 使用了decode, month是数字 decode(#{month,jdbcTypeINTEGER}, 1,E.JANUARY, 2,E.FEBRUARY, 3,E.MARCH, 4,E.APRIL, …

Java中数组和集合的对比,以及什么情况下使用数组更合适,什么情况下使用集合更合适。集合的基本介绍和集合体系图。

在Java中&#xff0c;数组和集合&#xff08;Java集合框架&#xff09;都用于存储多个元素。它们各自有不同的特点和适用场景。下面我会对数组和集合进行对比&#xff0c;并解释何时使用集合更好&#xff0c;以及何时使用数组更合适。 数组和集合的对比&#xff1a; 数组&…

听说你还不知道什么是python?本文将带你发掘python的魅力并让你爱上他

文章目录 前言什么是pythonpython的由来我们为什么要学习python帮助python学习的网站总结 前言 各位朋友们&#xff0c;大家好。龙叔我后台经常收到私信问什么是Python&#xff1f;有必要学习这门语言么&#xff1f;今天&#xff0c;将通过本文告知大家Python是什么&#xff1…

自己实现 SpringMVC 底层机制 系列之-实现任务阶段 6-完成控制器方法获取参数-@RequestParam

&#x1f600;前言 自己实现 SpringMVC 底层机制 系列之-实现任务阶段 6-完成控制器方法获取参数-RequestParam &#x1f3e0;个人主页&#xff1a;尘觉主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是尘觉&#xff0c;希望我的文章可以帮助到大家&#xff0c…