Pytorch深度学习—— 卷积神经网络基础篇(B站刘二大人P10学习笔记)

卷积网络和transformer如何处理三通道图片 卷积过程中,最主要的是:输入层有多少个通道,卷积核就要有多少个通道,但是卷积核的数量是任意的,卷积核的数量决定了卷积后 featuremap 的通道数。 阅读详情

目录

1 概述

2  卷积(Convolution)

2.1  单通道的卷积

2.2  三通道的卷积

2.2.1  1 Output Channel

 2.2.2  M Output Channels

3  卷积层常见参数

3.1  padding

3.2  stride

3.3  Subsampling——MaxPooling Layer


1 概述

       之前我们学习的网络全是由线性层串行连接起来的,这种网络被称为全连接网络,全连接网络在数值计算的时候,会丧失掉图片特征中的一些空间的信息。而卷积神经网络可以很好的保留图像的空间特征。如图所示,是卷积神经网络的基本工作方式:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5LmgQ1bnmoTnoJTkuIDlsI_nmb0=,size_20,color_FFFFFF,t_70,g_se,x_16

       首先经过特征提取层,进行特征提取,经过特征提取之后,图片信息变成了一个向量;而后将向量接入一个全连接网络进行分类处理。


2  卷积(Convolution)

2.1  单通道的卷积

如图所示,选择 1 x 5 x 5 的单通道图像,3 x 3 的卷积核,进行卷积运算:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5LmgQ1bnmoTnoJTkuIDlsI_nmb0=,size_19,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5LmgQ1bnmoTnoJTkuIDlsI_nmb0=,size_18,color_FFFFFF,t_70,g_se,x_16

       步骤:先在Input图像中,画出一个卷积核大小的(3x3)的窗口,而后将该窗口与卷积核做数乘+求和(对应元素相乘);然后将该窗口向左、向下做遍历,每一次都进行数乘求和运算,最终由这些数乘求和数值组成的矩阵,就是卷积后的结果。

2.2  三通道的卷积

2.2.1  1 Output Channel

        如图所示,是三通道的卷积基本原理:每个通道搭配一个卷积核,而后每个通道根据上面讲的单通道的计算方式计算,得到一个矩阵,一共可以得到三个矩阵,将这三个矩阵求和,最终得到的结果就是三通道卷积的结果。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5LmgQ1bnmoTnoJTkuIDlsI_nmb0=,size_17,color_FFFFFF,t_70,g_se,x_16

注:卷积核的数量一定和图像的通道数是一致的

如下图所示,是将图像的三通道和三个卷积核以立体的形式显示:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5LmgQ1bnmoTnoJTkuIDlsI_nmb0=,size_19,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5LmgQ1bnmoTnoJTkuIDlsI_nmb0=,size_19,color_FFFFFF,t_70,g_se,x_16

 2.2.2  M Output Channels

        如果想要输出的通道数不止一个,可以增加m个同种类型的卷积核的个数,依次进行卷积运算,将得到的m个单层通道的卷积结果罗列起来,就得到了m个通道的输出,更加形象的过程如图所示:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5LmgQ1bnmoTnoJTkuIDlsI_nmb0=,size_19,color_FFFFFF,t_70,g_se,x_16

 注:

  1. 每一个卷积核的通道数与输入通道数是一致的;
  2. 卷积核的总数和输出通道数是一致的

3  卷积层常见参数

3.1  padding

       当想要改变输出的大小是,有时候需要padding,如下图所示,输出原大小为一个 3 x 3 的矩阵,如果想要将其一个 5 x 5 的矩阵时,padding操作就是在输入图像周围进行填充,一般情况下填充数值为0。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5LmgQ1bnmoTnoJTkuIDlsI_nmb0=,size_19,color_FFFFFF,t_70,g_se,x_16

3.2  stride

       stride就是卷积核窗口在遍历图像时,每走一步的步长。如下图所示,是stride=2时的卷积步骤:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5LmgQ1bnmoTnoJTkuIDlsI_nmb0=,size_19,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5LmgQ1bnmoTnoJTkuIDlsI_nmb0=,size_19,color_FFFFFF,t_70,g_se,x_16

3.3  Subsampling——MaxPooling Layer

       如下图所示,是一个2x2的MaxPooling的工作原理,他的stride默认为2,将图像分成很多个2x2大小方格,取2x2小方格中的最大值,组成一个2x2的新的输出。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5LmgQ1bnmoTnoJTkuIDlsI_nmb0=,size_14,color_FFFFFF,t_70,g_se,x_16

 代码设置:

maxpooling_layer=torch.nn.MaxPool2d(Kernel_size=2)

PyTorch卷积层配置避坑指南:stride=2时padding该设多少?附dilation实战案例 本文深入解析PyTorch卷积层中stride、padding和dilation参数的配置逻辑与常见陷阱。重点探讨了当stride=2时,如何正确设置padding以实现输出尺寸精确减半,并提供了包含dilation参数的空洞卷积实战案例与通用调试代码,帮助开发者避免网络设计中的尺寸对齐错误。 阅读详情

相关推荐

《Pytorch深度学习实践》课程合集(刘二大人)笔记

2 线性模型 深度学习步骤 数据集 —— 拿到的训练集,要分成两部分,训练集,交叉验证集 和 测试集 模型 训练 推理 ML常用损失函数

竦貊的博客 5793

【深度学习】卷积神经网络

续接上文 卷积运算&边缘检测卷积中的步幅是构建卷积神经网络的基本操作例如:我们将步幅(stride=2)设置为2,7x7的矩阵与右边的filter进行卷积运算; 与之前的卷积运算不同的是我们之前步幅为1时,移动filter向右一格,而此时步幅为2时则移动两格;而当我们向下移动时,也是移动两格而非一格如此经过卷积运算,我们最终得到一个3x3的输出矩阵7x7 * 3x3 = 3x3;由此可总结出一个输入输出的公式(padding = p,stride = s = 2):nxn * fxf = (n+2p-f)/

weixin_52762273的博客 1534

《PyTorch深度学习实践》B站视频学习笔记

其中in_features和out_features都是指单个样本的维度。是否求均值在每个batch数量都一样时对结果没有影响。torch.optim.SGD()中需要传入的params(参数)是指需要更新的参数,model.parameters()是将模型中所有的参数都取出来。

m0_48610901的博客 965

NNDL 实验六 卷积神经网络(1) 卷积

实验

m0_51236133的博客 1774

刘二大人《PyTorch深度学习实践》

刘二大人《PyTorch深度学习实践》线性模型 线性模型 损失函数是针对一个样本的 training set得到的是一个平均平方误差MSE 穷举法绘制损失曲线:numpy和matplotlib import numpy as np import matplotlib.pyplot as plt #数据集 x_data = [1.0,2.0,3.0] y_data = [2.0,4.0,6.0] #定义模型 def forward(x): return x * w #定义损失函数 def loss

baimenglin的博客 3558

计算机视觉:卷积步长(Stride)

卷积操作中的步长(Stride)是指卷积核在图像上移动的步长。步长的大小直接影响卷积操作的结果和特征图的尺寸。在卷积操作中,步长的大小可以通过调整卷积核的移动步长来实现。例如,当步长为1时,卷积核每次移动一个像素;当步长为2时,卷积核每次移动两个像素,以此类推。步长的大小对卷积操作的结果和特征图的尺寸有着重要的影响。当步长较小时,卷积操作可以更加细致地提取图像特征,但是特征图的尺寸会变大,导致计算量增加。

huanfeng_AI的博客 5114

【Pytorch深度学习实践】B站up刘二大人课程笔记——目录与索引(已完结)

从有代码的课程开始讨论 Lecture02——Linear Model 本课程的主要任务是构建一个完整的线性模型: 导入numpy和matplotlib库; 导入数据 x_data 和 y_data; 定义前向传播函数: forward:输出是预测值y_hat 定义损失函数: loss:损失函数定义为MSE:均方根误差 创建两个空列表,因为后面绘图的时候要用: 分别是横轴的w_list和纵轴的mse_list 开始计算(我觉得这里没有训练的概念,只是单纯的计算每一个数据对应的预测值,然

weixin_42306148的博客 1万+

PyTorch深度学习实战(11)——卷积神经网络

卷积神经网络 (Convolutional Neural Network, CNN) 是一种广泛应用的深度学习模型。通过参数共享、局部感知和空间结构等优势,能够更好地处理图像数据,并在图像识别、目标检测和图像生成等任务中展现出强大的能力。在本节中,介绍了卷积的计算方法以及卷积神经网络的基本组件,并使用 PyTorch 构建了卷积神经网络以深入了解其工作原理。

盼小辉丶的博客 2万+

PyTorch教程—B站刘二大人笔记

PyTorch教程—B站刘二大人笔记

weixin_53236432的博客 1956

告别信号毛刺!手把手教你用ADS和IBIS-AMI模型搞定PCIe Gen3眼图仿真

本文详细介绍了如何使用Keysight ADS和IBIS-AMI模型进行PCIe Gen3眼图仿真,解决高速信号传输中的信号质量问题。从仿真环境搭建、S参数预处理到眼图优化与故障排除,提供了一套完整的工程实践指南,帮助工程师提升PCIe Gen3接口的信号完整性。

weixin_28366053的博客 370

反无人机技术实战解析:从探测到拦截的全方位防御策略

本文深入解析了反无人机(C-UAS)技术的全链条防御策略。从雷达、无线电频谱、光电等多维度探测技术,到数据融合与威胁评估,再到无线电干扰、导航诱骗及物理拦截等核心拦截手段,系统阐述了如何构建从探测到拦截的实战化防御体系,为关键设施、大型活动等场景提供定制化空域安全解决方案。

weixin_29230649的博客 402

【B站_刘二大人pytorch深度学习实践】笔记作业代码合集

手动训练:线性模型,梯度下降,BP Pytorch框架训练:线性回归,LogisticRegression,多维特征输入,加载数据集,多分类,CNN,RNN

m0_58586235的博客 3840

UE5实战:用Cesium插件打造逼真湖泊效果(附波纹参数调优技巧)

本文详细介绍了在Unreal Engine 5中利用Cesium插件创建逼真区域水效果(如湖泊)的实战流程。重点解析了通过材质层混合机制,精细调整波纹参数(如DistanceScale、NearScale)来模拟不同水体状态,并提供了从资产创建、地形配置到视觉调优的一站式解决方案,帮助开发者高效实现非海洋水域的动态视觉效果。

weixin_29209805的博客 160

CNN卷积神经网络实例(基于pytorch)

CNN卷积神经网络1.关于卷积神经网络2.卷积神经网络实例(手写字母识别)2.1 代码示例2.2 运行过程及结果2.3 测试结果3.参考与致谢 1.关于卷积神经网络 卷积神经网络(Convolutional Neural Network,CNN) 是一种具有局部连接、权重共享等特征的深层前馈神经网络。 我们先来看一下比较直观的了解一下,对卷积神经网络有个感性的认识: 我们首先先对我们输入的图片进行一次卷积,而后加入Relu激活函数,再做一次卷积,再加入Relu激活函数,而后对其处理结果进行汇聚(此处为Po

weixin_38468077的博客 2万+

HFSS求解器背后的数学原理:从麦克斯韦方程到S参数计算

本文深入解析了Ansys HFSS求解器的数学原理,从麦克斯韦方程出发,详细介绍了模式驱动求解(Driven Solution)和本征模求解(Eigenmode)等核心算法。通过有限元方法和模式匹配技术,HFSS将电磁场问题转化为矩阵方程求解,实现S参数计算和场分布分析,为工程师提供精确的电磁仿真工具。

weixin_28314575的博客 465

30. 如何使用 SEGW 的 redefine 功能对 SAP 标准 OData 服务进行扩展

SAP 发布了很多标准的 Fiori 应用,可以通过笔者的文章里提到的进行浏览。比如 My Opportunities 就是 SAP CRM 领域的一个 Fiori 应用:下图是 Opportunity 明细页面的 Info 标签页:假设我们想在这些标准字段的末尾增添一个新字段 Created By,用来维护当前 Opportunity 的创建者。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1174

刘二大人 PyTorch深度学习实践 笔记 P10 卷积神经网络(基础篇)

刘二大人 PyTorch深度学习实践 笔记 P10 卷积神经网络(基础篇)

qq_44948213的博客 3144

自己的搭建的slam机器人建图导航测试

1、前言 这里是对自己搭建的slam机器人建图导航的功能测试,原本并不想写这一篇的,因为每个小伙伴的需求都不一样,但是发现还是有同学有需求,于是就有了这一篇。本篇属于说明分享类文章,不涉及细节解释。按照步骤操作即可。 本次测试需要建图算法my_slam_gmapping、导航框架navigation、以及explore_lite功能包、mbot_teleop键盘控制功能包等。 环境:ubuntu mate 16.04 + ROS Kinetic 功能包下载:在公众号:小白学移动机器人,发送:建图导航测试,即

「小白学移动机器人」一个专注分享移动机器人相关知识的公众号! 8701

刘二大人Pytorch课程笔记

刘二大人pytorch笔记

qq_45114168的博客 2882

Cesium+Vue3教程(003):基于Vue3的Cesium自定义地图和地图叠加

在 Cesium 中,是用于加载地表影像图层的核心接口。通过它,您可以将各种地图服务(如卫星影像、街道地图、自定义瓦片等)加载到 Cesium 的地球上。Cesium 提供了多个内置的。

WwLK123的博客 635

基于情感分析+聚类分析+LDA主题分析对服装产品类的消费者评论分析

本研究旨在通过对服装产品类的消费者评论进行综合分析,为企业提供更全面、更深入的市场洞察和决策支持。同时,本研究的方法和结果也可以为其他领域的消费者评论分析提供借鉴和参考。

m0_64336780的博客 2万+

Pytorch搭建CIFAR10的CNN卷积神经网络

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Ma...

yanxueotft的博客 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【Pytorch深度学习实践】B站up刘二大人之BasicCNN & Advanced CNN -代码理解与实现(9/9)

这是刘二大人系列课程笔记的 最后一个笔记了,介绍的是 BasicCNN 和 AdvancedCNN ,我做图像,所以后面的RNN我可能暂时不会花时间去了解了; 写在前面: 本节把基础个高级CNN放在一起记录了,注意查看对应关系; 详细的代码理解参看下面的链接: 【Pytorch深度学习实践】B站up刘二大人课程笔记——目录与索引(更新中) 1. Basic CNN 完整代码: #!usr/bin/env python # -*- coding:utf-8 _*- """ @author: 24_nemo

weixin_42306148的博客 4065

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

《PyTorch深度学习实践》完结合集--B站刘二大人学习总结

无

mumawei123的博客 3240

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

pytorch搭建CNN卷积神经网络详解

个人觉得应该先写卷积操作的常见技术和公式操作,才能对卷积输入维度(结果),输出维度(结果)有更直观的了解吧。 简单介绍一下卷积的常用trick: Padding Striding 下方是输入输出公式(本人开始也很困惑,找到对应公式后,就十分明朗了): n:原始输入的维度 | f:卷积核的大小 | p:padding的大小| s:stride的大小 no padding: n - ...

Troublemaker丶的博客 3万+

Pytorch深度学习实践(b站刘二大人)P10讲 (CNN卷积神经网络基础篇)

1.全连接网络:指的是网络里面用的都是线性层,如果一个网络全都由线性层串行连接起来,就叫做全连接网络 在线性层里面输入和每一个输出值之间都存在权重,即每一个输入节点都要参与到下一层输出节点的计算上,这样的线性层也叫全连接层Fully Connected 2.二维卷积神经网络工作方式 卷积神经网络把图像按照原始的空间结构保存,能保留原始的空间信息(全连接过程中,把图像弄成了一串,会使原本图像中相邻的节点,距离较远) 经过一个卷积层把1*28*28的图像变成4*24*24 使用下采样(subs..

m0_60152377的博客 1815
上一篇: Pytorch深度学习——多分类问题、MNIST训练实例(B站刘二大人P9学习笔记)
下一篇: Pytorch深度学习——用全连接神经网络实现MNIST数据集分类
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习CV的研一小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值