怎么制作微信购物网站/产品推广计划方案模板
在全连接神经网络中,每个神经元都和上一层的所有神经元彼此连接,这会导致网络的参数量非常大,难以实现复杂数据的处理。为了改善这种情况,卷积神经网络应运而生。
一、卷积
在信号处理中,卷积被定义为一个函数经过翻转和移动后与另一个函数的乘积的积分。
那卷积具体卷了什么呢?我们用f函数表示进食,g函数表示消化。如果我们不考虑消化的话,如果想求14点的时候我们胃里面剩什么,只需要将f(t)在0点到14点求积分。但现在问题是,我们的胃是一直消化的。
假如,我们在12点的时候吃进去一碗米饭,而在14点的时候消化的已经剩一半了,这时候我们就需要用到消化函数g(t)。
g(t)代表消化曲线,最大值为1,在12点吃进去一碗米饭,在14点米饭还剩 f (12)·g (14 - 12),即 f (x)·g (t - x) 。那么14点之前吃进去的食物就可以进行求积分 .
从上述来看,我们可以把卷积理解为,一个系统的输入不稳定(在某时刻吃的东西多少不一定)、输出稳定(衰减/变化都符合g(t)函数),用卷积求系统存量。
2D卷积
在图像卷积中,过滤函数是不经过翻转的。卷积便是看很多像素点对某一个像素点如何产生的影响。2D卷积指的是在卷积操作过程中,卷积核只有两个维度——宽和高。卷积核与输入矩阵中对齐的区域,如下图灰色框所示。在对齐的区域里,输入矩阵与卷积核对应位置的元素值相乘,所有乘积再相加,得到一个标量值,为输出区域(0,0)位置的数值。接着卷积核向右平移,平移的距离由步长stride决定(stride为1,则向右平移一步),重复以上计算。
执行卷积的目的是从输入中提取有用的特征。在图像处理中,执行卷积操作有不同的过滤函数可供选择,每一种都有助于从输入图像中提取不同的方面或特征,如水平/垂直/对角边等。类似地,卷积神经网络通过卷积在训练期间使用自动学习权重的函数来提取特征。所有这些提取出来的特征,之后会被组合在一起做出决策。同时,卷积操作还具有权重共享(weights sharing)和平移不变性(translation invariant),可以考虑像素空间的关系。
一个输入图像在连续经过几次卷积操作之后,输出的图像就变得很小了。当输出尺寸变成1x1的时候,就无法进行卷积运算了,这样的话我们难以构建较深的神经网络。况且,在某些场景当中,例如图像分割,我们并不希望图像每次在经过特征提取之后都变小。此外,卷积运算并没有充分利用边缘处的信息,边缘处的像素点只会参与一次卷积运算,影响一个输出结果;但中间区域的像素点会参与多次卷积运算,影响多个输出结果。而填充操作padding就会解决这些问题,当padding=1时,图像周围会填充1个像素,例如一个5x5的图像经过填充后会变成7x7的图像。
卷积计算后的图像输出尺寸大小计算公式如下:
多通道卷积(空间卷积)
在2D卷积的例子中,输入时单通道的二维数据。而对于实际的图片,输入数据往往是多通道的,比如RGB三通道的。多通道的卷积操作与单通道的类似,只是在构造卷积核时需要注意卷积核的通道个数要与输入数据通道数相同。而对于卷积层而言,也是如此,一个卷积层往往也是多个通道组成的,每个通道描述一个方面的特征。
生成一个输出通道,就需要将每一个卷积核应用到前一层的输出通道上,这是一个卷积核级别的操作过程。对所有的卷积核都重复这个过程以生成多通道,之后,这些通道组合在一起共同形成一个单输出通道。设输入层是一个 5 x 5 x 3 矩阵,它有 3 个通道。过滤器则是一个 3 x 3 x 3 矩阵。首先,过滤器中的每个卷积核都应用到输入层的 3 个通道,执行 3 次卷积后得到了尺寸为 3 x 3 的 3 个通道。如下图所示:
之后,这 3 个通道都合并到一起(元素级别的加法)组成了一个大小为 3 x 3 x 1 的单通道。这个通道是输入层(5 x 5 x 3 矩阵)使用了过滤器(3 x 3 x 3 矩阵)后得到的结果。
同样,我们也可以将这个过程视作将一个 3D 过滤器矩阵滑动通过输入层,这个输入层和过滤器的深度都是相同的,即通道数=卷积核数。这个 3D 过滤器仅沿着 2 个方向(图像的高和宽)移动,这也是为什么 3D 过滤器即使通常用于处理 3D 体积数据,但这样的操作还是被称为 2D 卷积。假设,输入图像和卷积核的通道数为3,卷积核尺寸为3x3x3(宽x高x通道数),这时候将一个3D过滤器矩阵对图像沿着高和宽作卷积,通道数为1的卷积核是进行9个像素点的计算,而通道数为3的卷积核是进行27个像素点的计算。
多卷积核卷积
在实际神经网络中,每一层都会有多个卷积核参与运算。每个卷积核分别于输入卷积得到一个单通道的输出,最后多个单通道的输出拼在一起得到多通道输出。
单个卷积核只能提取单一特征,要想利用卷积核提取更多的特征,需要增加卷积核数量。r如果需要提取100个特征,卷积层需要100个卷积核,假设卷积核大小为4,则共需要4*100个参数。
如何进行多通道图的多核卷积呢? 对多通道图进行一个核一个核地卷积,最后生成n个特征图,将这些特征图拼接在一起最终可以得到2x2xn的特征图。
3D卷积
上一节中最后一张图虽然实现了空间卷积,但是本质上它还是2D卷积。而在 3D 卷积与2D卷积相比,多了一个时间的维度。而且3D卷积的过滤器深度要比输入层深度小,即卷积核大小<通道大小。这样做的结果是,3D 过滤器可以沿着所有 3 个方向移动,即高、宽及图像通道。
每个位置经过元素级别的乘法和算法都得出一个数值。由于过滤器滑动通过 3D 空间,输出的数值同样也以 3D 空间的形式呈现,最终输出一个 3D 数据。如下图所示:
1x1卷积
1x1卷积核通常会拿来对输入数据的通道做约简,每个1x1卷积核想当于在输入数据的通道上做一个降维(经过一个神经元个数为1的全连接层),从而相当于大幅度降低了特征图的数量,但不影响特征图的结构。1x1卷积表面上好像只是feature map每个值乘了一个数,但实际上不仅仅如此,由于会经过激活层,所以实际上是进行了非线性映射,其次就是可以改变feature 的channel数目。
经过大小为 1 x 1 x D 的过滤器的 1 x 1 卷积,输出通道的维度为 H x W x 1。如果我们执行 N 次这样的 1 x 1 卷积,然后将这些结果结合起来,我们能得到一个维度为 H x W x N 的输出层。在执行计算昂贵的 3 x 3 卷积和 5 x 5 卷积前,往往会使用 1 x 1 卷积来减少计算量。此外,它们也可以利用调整后的线性激活函数来实现双重用途。
二、 反卷积(转置卷积 Transposed Convolutions)
卷积不会增大输入的高和宽,通常要么不变、要么减半。但是在语义分割这种任务上,仅仅使用卷积无法进行像素级的输出,这时候就可以用到转置卷积来增大输入高和宽。反卷积是卷积的逆操作。
在反卷积进行的时候,也需要滑动操作。将输入图像上的0、1、2、3分别与卷积核进行相乘操作,得到结果后在与输出图像相同尺寸的框图上进行滑动,最终将这些结果进行相加。
为什么反卷积又叫做转置卷积呢?对于一个卷积操作,可以构造一个V使得卷积等价于矩阵乘法
,其中
是
对应的向量版本。转置卷积则是将卷积操作
等价于
,如果
的尺寸为1xm,
的尺寸为1xn,则
的尺寸为mxn。如果卷积将输入从
变成了
,同样超参数的转置卷积则从
变成了
,卷积一般是做下采样,转置卷积通常用作上采样。需要注意的是,虽然转置卷积可以增加特征图的空间尺寸,但是它不等同于传统意义上的上采样或者插值,因为它引入了非线性,转置卷积层在增加特征图尺寸的同时,通过学习卷积核的权重,能够保留或增加信息内容。
转置卷积也是一种卷积。当填充为0,步幅为1时,将输入填充k-1(k是核窗口),将核矩阵上下、左右翻转,然后做正常卷积(填充0、步幅1),可以得到结果等价于转置卷积。
当填充为p,步幅为1时,将输入填充k-p-1(k是核窗口),将核矩阵上下、左右翻转,然后做正常卷积(填充0、步幅1),可以得到结果等价于转置卷积。
当填充为p,步幅为s时,在行和列之间插入s-1行或列,将输入填充k-p-1(k是核窗口),将核矩阵上下、左右翻转,然后做正常卷积(填充0、步幅1),可以得到结果等价于转置卷积。
转置卷积输出特征图尺寸计算公式如下:
三、 分组卷积(Group convolution)
Group convolution 分组卷积,最早在AlexNet中出现,由于当时的硬件资源有限,训练AlexNet时卷积操作不能全部放在同一个GPU处理,因此作者把feature maps分给多个GPU分别进行处理,最后把多个GPU的结果进行融合。
在传统的 2D 卷积中,通过应用 128 个过滤器(每个过滤器的大小为 3 x 3 x 3),大小为 7 x 7 x 3 的输入层被转换为大小为 5 x 5 x 128 的输出层。针对通用情况,可概括为通过应用 Dout 个卷积核(每个卷积核的大小为 h x w x Din),可将大小为 Hin x Win x Din 的输入层转换为大小为 Hout x Wout x Dout 的输出层。
而在分组卷积中,过滤器被拆分为不同的组,每一个组都负责具有一定深度的传统 2D 卷积的工作。一个过滤器被拆分为 2 个过滤器组的分组卷积。在每个过滤器组中,其深度仅为名义上的 2D 卷积的一半(Din / 2),而每个过滤器组都包含 Dout /2 个过滤器。第一个过滤器组(红色)对输入层的前半部分做卷积([:, :, 0:Din/2]),第二个过滤器组(蓝色)对输入层的后半部分做卷积([:, :, Din/2:Din])。最终,每个过滤器组都输出了 Dout/2 个通道。整体上,两个组输出的通道数为 2 x Dout/2 = Dout。之后,我们再将这些通道堆叠到输出层中,输出层就有了 Dout 个通道。
四、扩张卷积(空洞卷积 Dilated Convolutions)
空洞卷积又叫扩张卷积,是一种特殊的卷积运算。与标准卷积不同的是,在卷积核尺寸、步长、填充之外,又引入另一个卷积层的参数——扩张率(膨胀率)。膨胀率定义了内核中值之间的间距。扩张速率为2的3x3内核将具有与5x5内核相同的视野,而只使用9个参数。 使用5x5内核并删除每个间隔的行和列,如下图所示:
为什么要增加采样间隔呢?空洞卷积最初被提出时,是为了解决图像分割中一些特定的问题,特别是语义分割。图像分割做的是像素级的预测,模型需要精确地预测出图像中地每个像素所属的类别,这就需要模型具有较大的感受野,以便捕捉到图像中上下文信息。同时,图像分割需要保持高分辨率的输出,传统的神经网络需要经过卷积层和池化层降低图像分辨率,然后再经过上采样操作还原输入尺寸,这个过程增大了感受野但也会导致细节丢失。空洞卷积便可缓解这个问题,增大感受野的同时,保持特征图的尺寸不变,通过膨胀率卷积核可以在不增加参数数量和计算量的条件下覆盖更大的感受野,这样网络就可以捕捉到图像中的长距离依赖关系,同时又可以保持较高的空间分辨率。
直观上,空洞卷积通过在卷积核部分之间插入空间让卷积核“膨胀”。这个增加的参数 (空洞率)表明了我们想要将卷积核放宽到多大。当 膨胀率为1,2,4 时的卷积核大小,其中当膨胀率为1时,空洞卷积就变成了一个标准的卷积。
在图像中,3 x 3 的红点表明经过卷积后的输出图像的像素是 3 x 3。虽然三次空洞卷积都得出了相同维度的输出图像,但是模型观察到的感受野是不同的。膨胀率为1时,感受野为 3 x 3;膨胀率为2时,感受野是 7 x 7;膨胀率为3时,感受野增至 15x15。伴随这些操作的参数数量本质上是相同的,不需要增加参数运算成本就能观察大的感受野。因此,空洞卷积常被用以低成本地增加输出单元上的感受野,同时还不需要增加卷积核大小,当多个空洞卷积一个接一个堆叠在一起时,这样是有效的。
五、可分离卷积
空间可分离卷积(separable convolution)
空间可分离卷积就是再空间维度对卷积核进行拆分,将一个标准卷积核拆为一个个小卷积核,最终一个标准的卷积运算可以转换为多个顺序执行的卷积运算。
例如,一个矩阵A可以拆分为B和C的外积。那么,用A作为卷积核对图像作卷积就等价于先用B作为卷积核对图像作卷积,然后再用C作为卷积核对图像作卷积。
一般而言,在一个可分离卷积中,我们可以将内核操作拆分成多个步骤。我们用y = conv(x,k)表示卷积,其中y是输出图像,x是输入图像,k是内核。这一步很简单。接下来,我们假设k可以由下面这个等式计算得出:k = k1.dot(k2)。这将使它成为一个可分离的卷积,因为我们可以通过对k1和k2做2个一维卷积来取得相同的结果,而不是用k做二维卷积。
以通常用于图像处理的Sobel内核为例。你可以通过乘以向量[1,0,-1]和[1,2,1] .T获得相同的内核。在执行相同的操作时,你只需要6个而不是9个参数。(如下所示,其实有点类似矩阵的分解,在线性系统的时候学过类似的)
比起卷积,空间可分离卷积要执行的矩阵乘法运算也更少。假设我们现在在 m x m 卷积核、卷积步长=1 、填充=0 的 N x N 图像上做卷积。传统的卷积需要进行 (N-2) x (N-2) x m x m 次乘法运算,而空间可分离卷积只需要进行 N x (N-2) x m + (N-2) x (N-2) x m = (2N-2) x (N-2) x m 次乘法运算。空间可分离卷积与标准的卷积的计算成本之比为:
深度可分离卷积(depthwise separable convolution)
深度可分离卷积和空间可分离卷积类似,也是将标准卷积运算拆分为多个卷积运算,深度维度指的是通道维度,深度可分离卷积是在通道维度上对标准卷积进行拆分处理。一个大小为 w x h x c的输入,经过co个wk x hk x c的卷积核进行标准卷积运算,假设得到大小为a x b x co的输出,整个运算过程中的运算量等于wk x hk x c x co。
同样大小的输入和输出,换做深度可分离卷积是如何做的呢?首先,对输入逐通道卷积,分别提取输入的每个通道上的特征。
但此时,各通道上的特征是独立的,还没有得到融合因此需要逐点卷积,使用一个1 x 1 x c的卷积核对深度卷积得到的特征图进行卷积运算,可以得到一个1 x a x b的输出,此时的输出已经融合了c个通道的输出。
如果用co个1 x 1 x c的卷积核对特征图进行卷积运算,此时的输出特征图变为a x b x co。整个过程的参数量为 wk x hk x 1 x c + 1 x 1 x c x co, 大大缩减了计算量和参数量。
参考资料:
7.5多通道多卷积核_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1q34y1V7p4/?spm_id_from=333.337.search-card.all.click&vd_source=0dc0c2075537732f2b9a894b24578eed各种卷积层的理解(深度可分离卷积、分组卷积、扩张卷积、反卷积)_分层卷积-CSDN博客
https://blog.csdn.net/gwplovekimi/article/details/89890510【深度学习 搞笑教程】22 卷积运算过程(单通道 多通道 多卷积核)| 草履虫都能听懂 零基础入门 | 持续更新_哔哩哔哩_bilibili
https://www.bilibili.com/video/BV1de411H7s8/?spm_id_from=333.337.search-card.all.click&vd_source=0dc0c2075537732f2b9a894b24578eed卷积神经网络原理 - 12 - 有趣的1x1卷积核_哔哩哔哩_bilibili
https://www.bilibili.com/video/BV1Q5411d7hz?spm_id_from=333.788.videopod.sections&vd_source=0dc0c2075537732f2b9a894b24578eed【深度学习 搞笑教程】26 反卷积 空洞卷积 可分离卷积 | 草履虫都能听懂 零基础入门 | 持续更新_哔哩哔哩_bilibili
https://www.bilibili.com/video/BV19x4y1E7yA/?spm_id_from=333.337.search-card.all.click&vd_source=0dc0c2075537732f2b9a894b24578eed47 转置卷积【动手学深度学习v2】_哔哩哔哩_bilibili
https://www.bilibili.com/video/BV17o4y1X7Jn/?spm_id_from=333.337.search-card.all.click&vd_source=0dc0c2075537732f2b9a894b24578eed
相关文章:

【深度学习】各种卷积—卷积、反卷积、空洞卷积、可分离卷积、分组卷积
在全连接神经网络中,每个神经元都和上一层的所有神经元彼此连接,这会导致网络的参数量非常大,难以实现复杂数据的处理。为了改善这种情况,卷积神经网络应运而生。 一、卷积 在信号处理中,卷积被定义为一个函数经过翻转…...

远程视频验证如何改变商业安全
如今,商业企业面临着无数的安全挑战。尽管企业的形态和规模各不相同——从餐厅、店面和办公楼到工业地产和购物中心——但诸如入室盗窃、盗窃、破坏和人身攻击等威胁让安全主管时刻保持警惕。 虽然传统的监控摄像头网络帮助组织扩大了其态势感知能力,但…...

电脑启动需要经历哪些过程?
传统BIOS启动流程 1. BIOS BIOS 启动,BIOS程序是烧进主板自带的ROM里的,所以无硬盘也可以启动。BIOS先进行自检,检查内存、显卡、磁盘等关键设备是否存在功能异常,会有蜂鸣器汇报错误,无错误自检飞快结束。 硬件自检…...

纯Go语言开发人脸检测、瞳孔/眼睛定位与面部特征检测插件-助力GoFly快速开发框架
前言 开发纯go插件的原因是因为目前 Go 生态系统中几乎所有现有的人脸检测解决方案都是纯粹绑定到一些 C/C 库,如 OpenCV 或 dlib,但通过 cgo 调用 C 程序会引入巨大的延迟,并在性能方面产生显著的权衡。…...

postman使用正则表达式提取数据实战篇!
之前篇章中postman多接口关联使用的是通过JSON提取器的方式进行提取。 除了JSON提取器提取数据外还可通过另一种方式——正则表达式来提取数据。 1、使用正则表达式提取器实现接口关联,match匹配 正则匹配表达式将需要提取的字段key:value都放入表达式中ÿ…...

ipmitool使用详解(三)-解决各种dell、hp服务器无法ipmitool连接问题
报错 [root@localhost ~]# ipmitool -H 10.1.2.41 -I lan -U admin -P "password123" lan print 1 Get Session Challenge command failed Error: Unable to establish LAN session Error: Unable to establish IPMI v1.5 / RMCP session [root@localhost ~]# ipmit…...

AWS EC2设置用户名密码登录
使用AWS EC2 设置用户名密码登录 步骤 1: 访问控制台 登录到AWS管理控制台。导航至 EC2 Dashboard。在左侧导航栏中选择 Instances。选择需要配置的实例。使用 EC2 Instance Connect 访问实例控制台。 步骤 2: 切换到 root 用户 打开终端或命令行工具,通过SSH连…...

BurpSuite安装教程(详细!!附带下载链接)
声明 学习内容来自 B 站UP主泷羽sec,如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。 ✍🏻作者简介:致…...

MIPS寄存器文件设计实验
今天写MIPS寄存器文件设计实验,同时复习一下MIPS这块地方 实验要求: 一、寄存器的作用 想象一下,你正在厨房准备做一顿大餐。你需要用到各种食材和工具,比如刀、锅、砧板,还有食材本身,比如肉、菜、调料等…...

uniapp使用扩展组件uni-data-select出现的问题汇总
前言 不知道大家有没有学习过我的这门课程那,《uniCloud云开发Vue3版本官方推荐用法》,这么课程已经得到了官方推荐,想要快速上手unicloud的小伙伴们,可以学习一下这么课程哦,不要忘了给一键三连呀。 在录制这门课程…...

反向代理模块开发
1 概念 1.1 反向代理概念 反向代理是指以代理服务器来接收客户端的请求,然后将请求转发给内部网络上的服务器,将从服务器上得到的结果返回给客户端,此时代理服务器对外表现为一个反向代理服务器。 对于客户端来说,反向代理就相当于…...

海康面阵、线阵、读码器及3D相机接线说明
为帮助用户快速了解和配置海康系列设备的接线方式,本文将针对海康面阵相机、线阵相机、读码器和3D相机的主要接口及接线方法进行全面整理和说明。 一、海康面阵相机接线说明 海康面阵相机使用6-pin P7接口,其功能设计包括电源输入、光耦隔离信号输入输出…...

AI与ArcGIS Pro的地理空间分析和可视化
AI思维已经成为一种必备的能力,ArcGIS Pro3的卓越性能与ChatGPT的智能交互相结合,将会为您打造了一个全新的工作流程! 那么如何将火热的ChatGPT与ArcGIS Pro3相结合,使我们无需自己进行复杂的编程,通过强大的ChatGPT辅助我们完成地…...

详解HTML5语言
文章目录 前言任务一 认识HTML5任务描述:知识一 HTML5基础知识 任务二 HTML 5语义元素任务描述:知识一 HTML5新增结构元素知识二 HTML5文本语义元素 总结 前言 HTML5是一个新的网络标准,现在仍处于发展阶段。目标是取代现有的HTML 4.01和XHT…...

docker compose一键启动ES集群和kibana
集群启用了XPACK后,只有第一次可以启动成功。要是宕机了。就启动不了了。(除非删除data目录所有数据)生产环境 启用了后 建议配置 自定义证书。 services:es01:image: "docker.elastic.co/elasticsearch/elasticsearch:7.17.25"co…...

遗传算法与深度学习实战(25)——使用Keras构建卷积神经网络
遗传算法与深度学习实战(25)——使用Keras构建卷积神经网络 0. 前言1. 卷积神经网络基本概念1.1 卷积1.2 步幅1.3 填充1.4 激活函数1.5 池化 2. 使用 Keras 构建卷积神经网络3. CNN 层的问题4. 模型泛化小结系列链接 0. 前言 卷积神经网络 (Convolution…...

pytest+allure生成报告显示loading和404
pytestallure执行测试脚本后,通常会在电脑的磁盘上建立一个临时文件夹,里面存放allure测试报告,但是这个测试报告index.html文件单独去打开,却显示loading和404, 这个时候就要用一些办法来解决这个报告显示的问题了。 用命令产生…...

为何划分 Vue 项目结构组件?划分结构和组件解决了什么问题?为什么要这么做?
在一个大型 Vue 项目中,合理的目录结构和组件划分至关重要。良好的结构可以提高开发效率,减少维护成本,并使得团队合作更加顺畅。下面我将详细讲解如何在 Vue 项目中进行目录结构和组件划分,并结合实际项目代码示例进行说明。 1. 为什么要划分结构和组件? 1.1 提高可维护…...

springboot中使用mongodb完成评论功能
pom文件中引入 <!-- mongodb --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> yml中配置连接 data:mongodb:uri: mongodb://admin:1234561…...

Dubbo的RPC泛化调用
目录 一、RPC泛化调用的应用场景 二、Dubbo RPC泛化调用的实现原理 三、Dubbo RPC泛化调用的实现步骤 四、示例代码 五、泛化调用怎么发现提供该接口的服务及服务的IP和端口? Dubbo的RPC泛化调用是一种在调用方没有服务方提供的API的情况下,对服务方…...

【k8s深入理解之 Scheme】全面理解 Scheme 的注册机制、内外部版本、自动转换函数、默认填充函数、Options等机制
参考 【k8s基础篇】k8s scheme3 之序列化_基于schema进行序列化-CSDN博客【k8s基础篇】k8s scheme4 之资源数据结构与资源注册_kubernetes 的scheam-CSDN博客常见问题答疑 【k8s深入理解之 Scheme 补充-1】理解 Scheme 中资源的注册以及 GVK 和 go 结构体的映射-CSDN博客【k8s深…...

接口性能优化宝典:解决性能瓶颈的策略与实践
目录 一、直面索引 (一)索引优化的常见场景 (二)如何检查索引的使用情况 (三)如何避免索引失效 (四)强制选择索引 二、提升 SQL 执行效率 (一)避免不必…...

雨晨 Windows Server 2025 数据中心 极简 26311.5000
文件: 雨晨 Windows Server 2025 数据中心 极简 26311.5000 install.esd 大小: 1740910278 字节 修改时间: 2024年11月29日, 星期五, 19:00:20 MD5: 5B946B9DED569E04917E804B25A0F736 SHA1: E78BB430B3E0397F6ACFEB821CF85EA7CFB5A00F CRC32: B3F76BD7 常规制作旨在测试YCDIS…...

关于IDE的相关知识之三【插件安装、配置及推荐的意义】
成长路上不孤单😊😊😊😊😊😊 【14后😊///C爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于ide插件安装、配置及推荐意义的相关内容…...

JSP+Servlet实现列表分页功能
分享一种最简单的JSPServlet实现分页的方式! 旧:无分页功能的查询列表功能,仅供参考! Servlet try {Connection conn null;PreparedStatement ps null;ResultSet rs null;List<Dept> arrayList null;conn DBUtil.get…...

操作系统存储器相关习题
1 为什么要配置层次式存储器? 设置多个存储器可以使存储器两端的硬件能并行工作; 采用多级存储系统特别是Cache技术,是减轻存储器带宽对系统性能影响的最佳结构方案; 在微处理机内部设置各种缓冲存储器,减轻对存储器存取的压力。…...

QUICK 调试camera-xml解析
本文主要介绍如何在QUICK QCS6490使能相机模组。QCS6490的相机基于CameraX的框架,只需通过配置XML文件,设置相机模组的相关参数,就可以点亮相机。本文主要介绍Camera Sensor Module XML和Camera Sensor XML配置的解析,这中间需要c…...

【linux】shell脚本编写基础
shell 脚本关键字: 1、变量定义:前后不能空格 输入: zhao"Joe" echo ${zhao} echo "I am ${zhao}" 输出: yuxin I am Joe2、echo 输出 输入: echo "123" 输出: 1233、readonly 定义变…...

STM32 外设简介
STM32 外设简介 STM32 是由意法半导体 (STMicroelectronics) 开发的一系列基于 ARM Cortex 内核的微控制器,广泛应用于嵌入式系统中。STM32 系列的一个重要特点是其丰富而强大的外设模块,支持多种接口和功能,能满足工业控制、物联网、消费电…...

Django-Vue3-Admin - 现代化的前后端分离权限管理系统
项目介绍 Django-Vue3-Admin是一个基于RBAC(Role-Based Access Control)模型的综合性基础开发平台,专注于权限控制,支持列级别的细粒度权限管理。该项目采用前后端分离架构,技术栈包括: 后端: Django Django REST …...