深度学习 精选笔记(12)卷积神经网络-理论基础1

news2024/10/5 18:30:04

学习参考:

  • 动手学深度学习2.0
  • Deep-Learning-with-TensorFlow-book
  • pytorchlightning

①如有冒犯、请联系侵删。
②已写完的笔记文章会不定时一直修订修改(删、改、增),以达到集多方教程的精华于一文的目的。
③非常推荐上面(学习参考)的前两个教程,在网上是开源免费的,写的很棒,不管是开始学还是复习巩固都很不错的。

深度学习回顾,专栏内容来源多个书籍笔记、在线笔记、以及自己的感想、想法,佛系更新。争取内容全面而不失重点。完结时间到了也会一直更新下去,已写完的笔记文章会不定时一直修订修改(删、改、增),以达到集多方教程的精华于一文的目的。所有文章涉及的教程都会写在开头、一起学习一起进步。

推荐阅读、学习参考:

  • https://blog.csdn.net/IronmanJay/article/details/128689946
  • CNN笔记:通俗理解卷积神经网络
  • 卷积神经网络原理【十分推荐】
  • 卷积神经网络(CNN)详细介绍及其原理详解

1.从全连接层到卷积

多层感知机十分适合处理表格数据,其中行对应样本,列对应特征。 对于表格数据,寻找的模式可能涉及特征之间的交互,但是不能预先假设任何与特征交互相关的先验结构。 此时,多层感知机可能是最好的选择,然而对于高维感知数据,这种缺少结构的网络可能会变得不实用。

例如,在之前猫狗分类的例子中:假设有一个足够充分的照片数据集,数据集中是拥有标注的照片,每张照片具有百万级像素,这意味着网络的每次输入都有一百万个维度。 即使将隐藏层维度降低到1000,这个全连接层也将有 106×103=109
个参数。 想要训练这个模型将不可实现,因为需要有大量的GPU、分布式优化训练的经验和超乎常人的耐心。

1.1不变性

想象一下,假设想从一张图片中找到某个物体。 合理的假设是:无论哪种方法找到这个物体,都应该和物体的位置无关。 理想情况下,系统应该能够利用常识:猪通常不在天上飞,飞机通常不在水里游泳。 但是,如果一只猪出现在图片顶部,还是应该认出它。

可以从儿童游戏”沃尔多在哪里”中得到灵感:
在这个游戏中包含了许多充斥着活动的混乱场景,而沃尔多通常潜伏在一些不太可能的位置,读者的目标就是找出他。 尽管沃尔多的装扮很有特点,但是在眼花缭乱的场景中找到他也如大海捞针。 然而沃尔多的样子并不取决于他潜藏的地方,因此可以使用一个“沃尔多检测器”扫描图像。 该检测器将图像分割成多个区域,并为每个区域包含沃尔多的可能性打分。

卷积神经网络正是将空间不变性(spatial invariance)的这一概念系统化,从而基于这个模型使用较少的参数来学习有用的表示。

  • 平移不变性(translation invariance):不管检测对象出现在图像中的哪个位置,神经网络的前面几层应该对相同的图像区域具有相似的反应,即为“平移不变性”。
  • 局部性(locality):神经网络的前面几层应该只探索输入图像中的局部区域,而不过度在意图像中相隔较远区域的关系,这就是“局部性”原则。最终,可以聚合这些局部特征,以在整个图像级别进行预测。

下面探究:以上两个原则是如何转化为数学表示的。

1.2多层感知机的限制

多层感知机(MLP)作为一种人工神经网络模型,在解决许多机器学习问题上表现出色。然而,它也有一些限制,包括:

  • 需要大量数据集: MLP通常需要大量的标记数据来有效地训练模型,特别是在具有许多参数的大型网络中,过拟合是一个常见的问题。
  • 需要调优的超参数: MLP具有许多超参数,如隐藏层的数量、每层的神经元数量、学习率等,需要仔细调优才能获得最佳性能。
  • 对特征的敏感: MLP对输入数据的特征表示非常敏感,因此在训练之前可能需要对数据进行归一化或标准化,以避免不同特征值的影响不均衡。
  • 容易过拟合: 由于MLP的参数数量较多,模型很容易过拟合训练数据,特别是在没有足够正则化措施的情况下。
  • 计算资源需求高: 复杂的MLP可能需要大量的计算资源来训练,特别是当处理大规模的数据集时。
  • 非线性关系的建模: 如果数据集包含复杂的非线性关系,MLP可能需要更多的层和神经元才能很好地捕捉这些关系,增加了模型的复杂性和训练难度。
  • 黑盒模型: MLP作为深度学习模型,通常被认为是黑盒模型,难以解释其预测结果,这可能在需要透明决策过程的应用中造成一定的困扰。

多层感知机的输入是二维图像 𝐗 ,其隐藏表示 𝐇 在数学上是一个矩阵,在代码中表示为二维张量。 其中 𝐗 和 𝐇 具有相同的形状。 为了方便理解,可以认为无论是输入还是隐藏表示都拥有空间结构。

使用 [𝐗]𝑖,𝑗 和 [𝐇]𝑖,𝑗 分别表示输入图像和隐藏表示中位置( 𝑖 , 𝑗 )处的像素。 为了使每个隐藏神经元都能接收到每个输入像素的信息,将参数从权重矩阵替换为四阶权重张量 𝖶 。假设 𝐔 包含偏置参数,可以将全连接层形式化地表示为

在这里插入图片描述
其中,从 𝖶 到 𝖵 的转换只是形式上的转换,因为在这两个四阶张量的元素之间存在一一对应的关系。只需重新索引下标(𝑘,𝑙),使 𝑘=𝑖+𝑎 、 𝑙=𝑗+𝑏 ,此可得 [𝖵]𝑖,𝑗,𝑎,𝑏=[𝖶]𝑖,𝑗,𝑖+𝑎,𝑗+𝑏 。索引 𝑎 和 𝑏 通过在正偏移和负偏移之间移动覆盖了整个图像。 对于隐藏表示中任意给定位置( 𝑖 , 𝑗 )处的像素值 [𝐇]𝑖,𝑗 ,可以通过在 𝑥 中以 (𝑖,𝑗) 为中心对像素进行加权求和得到,加权使用的权重为 [𝖵]𝑖,𝑗,𝑎,𝑏 。
(1)平移不变性
引用上述的第一个原则:平移不变性。 这意味着检测对象在输入 𝐗 中的平移,应该仅导致隐藏表示 𝐇
中的平移。也就是说, 𝖵 和 𝐔 实际上不依赖于 (𝑖,𝑗) 的值,即 [𝖵]𝑖,𝑗,𝑎,𝑏=[𝐕]𝑎,𝑏 。并且 𝐔 是一个常数,比如 𝑢 。因此,可以简化 𝐇 定义为:
在这里插入图片描述

这就是卷积(convolution)。是在使用系数 [𝐕]𝑎,𝑏 对位置 (𝑖,𝑗) 附近的像素 (𝑖+𝑎,𝑗+𝑏) 进行加权得到 [𝐇]𝑖,𝑗 。 注意, [𝐕]𝑎,𝑏 的系数比 [𝖵]𝑖,𝑗,𝑎,𝑏 少很多,因为前者不再依赖于图像中的位置。这就是显著的进步!
(2)局部性

引用上述的第二个原则:局部性。如上所述,为了收集用来训练参数 [𝐇]𝑖,𝑗的相关信息,不应偏离到距 (𝑖,𝑗)很远的地方。这意味着在 |𝑎|>Δ 或 |𝑏|>Δ的范围之外,可以设置 [𝐕]𝑎,𝑏=0 。因此,可以将 [𝐇]𝑖,𝑗
重写为
在这里插入图片描述
上面该公式是一个卷积层(convolutional layer),而卷积神经网络是包含卷积层的一类特殊的神经网络。 在深度学习研究社区中, 𝐕 被称为卷积核(convolution kernel)或者滤波器(filter),亦或简单地称之为该卷积层的权重,通常该权重是可学习的参数。

1.3卷积

在数学中,两个函数(比如 𝑓,𝑔:ℝ(d)→ℝ )之间的“卷积”被定义为
在这里插入图片描述
也就是说,卷积是当把一个函数“翻转”并移位 𝐱时,测量 𝑓和 𝑔 之间的重叠。 当为离散对象时,积分就变成求和。例如,对于由索引为 ℤ 的、平方可和的、无限维向量集合中抽取的向量,得到以下定义:
在这里插入图片描述
对于二维张量,则为 𝑓 的索引 (𝑎,𝑏) 和 𝑔 的索引 (𝑖−𝑎,𝑗−𝑏)上的对应加和:
在这里插入图片描述

1.4通道

图像一般包含三个通道/三种原色(红色、绿色和蓝色)。 实际上,图像不是二维张量,而是一个由高度、宽度和颜色组成的三维张量,比如包含 1024×1024×3 个像素。 前两个轴与像素的空间位置有关,而第三个轴可以看作每个像素的多维表示。 因此,我们将 𝖷 索引为 [𝖷]𝑖,𝑗,𝑘 。由此卷积相应地调整为 [𝖵]𝑎,𝑏,𝑐 ,而不是 [𝐕]𝑎,𝑏 。

此外,由于输入图像是三维的,隐藏表示 𝖧 也最好采用三维张量。 换句话说,对于每一个空间位置,想要采用一组而不是一个隐藏表示。这样一组隐藏表示可以想象成一些互相堆叠的二维网格。 因此,可以把隐藏表示想象为一系列具有二维张量的通道(channel)。 这些通道有时也被称为特征映射(feature maps),因为每个通道都向后续层提供一组空间化的学习特征。 直观上可以想象在靠近输入的底层,一些通道专门识别边缘,而一些通道专门识别纹理。

为了支持输入 𝖷 和隐藏表示 𝖧 中的多个通道,可以在 𝖵 中添加第四个坐标,即 [𝖵]𝑎,𝑏,𝑐,𝑑 。
在这里插入图片描述
其中隐藏表示 𝖧 中的索引 𝑑 表示输出通道,而随后的输出将继续以三维张量 𝖧 作为输入进入下一个卷积层。 故而可以定义具有多个通道的卷积层,而其中 𝖵 是该卷积层的权重。

1.5总结(直接看这个)

全连接层在图像任务上的缺点:

  • 参数量过大: 全连接层会将图像中的每个像素都连接到神经网络中,导致参数量巨大。对于高分辨率的图像,这样的连接方式会引起巨大的计算和内存负担。
  • 位置信息丢失: 全连接层并不保留像素之间的位置信息,因为每个像素与所有神经元连接,使得网络无法捕捉到空间结构和位置信息,这在图像处理任务中通常是关键的。
  • 过拟合风险高: 参数量巨大会增加模型的复杂性,容易过拟合训练数据,特别是在训练数据较少的情况下,容易导致泛化能力下降。
  • 不适合大尺寸输入: 对于大尺寸输入的图像,全连接层的参数量迅速增长,会使得训练过程变得困难并且需要更多的计算资源。
  • 计算开销大: 全连接层需要大量的计算资源和时间来训练模型,尤其是在处理大规模数据集时,会增加训练时间和成本。

以上这些缺点,导致了全连接网络无法胜任图片任务,为了克服全连接层在图像处理任务中的缺点,通常会使用卷积神经网络(CNN)来代替全连接层。CNN具有局部连接和权值共享的特性,可以更有效地处理图像数据,提取空间信息,并且减少参数量和计算开销。因此,在图像人物识别等任务中,CNN通常被认为是更有效和更适合的模型架构。

2.卷积通俗理解(直接从这里开始看)

卷积神经网络通过充分利用局部相关性和权值共享的思想,大大地减少了网络的参数量,从而提高训练效率,更容易实现超大规模的深层网络。

2.1什么是卷积?

对图像(不同的数据窗口数据)和滤波矩阵(一组固定的权重:因为每个神经元的多个权重固定,所以又可以看做一个恒定的滤波器filter)做内积(逐个元素相乘再求和)的操作就是所谓的『卷积』操作,也是卷积神经网络的名字来源。

非严格意义上来讲,下图中红框框起来的部分便可以理解为一个滤波器,即带着一组固定权重的神经元。多个滤波器叠加便成了卷积层。

在这里插入图片描述
比如下图中,图中左边部分是原始输入数据,图中中间部分是滤波器filter,图中右边是输出的新的二维数据。(就是一个提取特征的过程)
在这里插入图片描述
中间滤波器filter与数据窗口做内积,其具体计算过程则是:40 + 00 + 00 + 00 + 01 + 01 + 00 + 01 + -4*2 = -8

卷积层有时被称为特征映射(feature map),因为它可以被视为一个输入映射到下一层的空间维度的转换器。 在卷积神经网络中,对于某一层的任意元素 𝑥 ,其感受野(receptive field)是指在前向传播期间可能影响 𝑥 计算的所有元素(来自所有先前层)。

2.2图像上的卷积

具体来说,左边是图像输入,中间部分就是滤波器filter(带着一组固定权重的神经元),不同的滤波器filter会得到不同的输出数据,比如颜色深浅、轮廓。相当于如果想提取图像的不同特征,则用不同的滤波器filter,提取想要的关于图像的特定信息:颜色深浅或轮廓。
在这里插入图片描述

2.3卷积的过程

在CNN中,滤波器filter(带着一组固定权重的神经元)对局部输入数据进行卷积计算。每计算完一个数据窗口内的局部数据后,数据窗口不断平移滑动,直到计算完所有数据。这个过程中,有这么几个参数:

  • 深度depth:神经元个数,决定输出的depth厚度。同时代表滤波器个数。
  • 步长stride:决定滑动多少步可以到边缘。
  • 填充值zero-padding:在外围边缘补充若干圈0,方便从初始位置以步长为单位可以刚好滑倒末尾位置,通俗地讲就是为了总长能被步长整除。

在这里插入图片描述

2.4卷积网络之激励层与池化层

(1)激励层(激活函数层)

卷积网络使用ReLU激活函数,优点是收敛快,求梯度简单。
在这里插入图片描述
sigmoid激活函数容易饱和、造成终止梯度传递,且没有0中心化。

(2)池化pool层

池化,简言之,即取区域平均或最大,如下图所示(图引自cs231n)
在这里插入图片描述
上图所展示的是取区域最大,即上图左边部分中 左上角2x2的矩阵中6最大,右上角2x2的矩阵中8最大,左下角2x2的矩阵中3最大,右下角2x2的矩阵中4最大,所以得到上图右边部分的结果:6 8 3 4。

池化就是这个意思,如果是取平均,那么就取这个区域内的平均。

2.5 特征映射和感受野

卷积层有时被称为特征映射(feature map),因为它可以被视为一个输入映射到下一层的空间维度的转换器。 在卷积神经网络中,对于某一层的任意元素 𝑥 ,其感受野(receptive field)是指在前向传播期间可能影响 𝑥 计算的所有元素(来自所有先前层)。

3.快速认识卷积网络的 层

3.1输入层

输入层比较简单,这一层的主要工作就是输入图像等信息,因为卷积神经网络主要处理的是图像相关的内容。对于输入图像,首先要将其转换为对应的二维矩阵,这个二位矩阵就是由图像每一个像素的像素值大小组成的。
在这里插入图片描述
上图又称为灰度图像,因为其每一个像素值的范围是0 ~ 255(由纯黑色到纯白色),表示其颜色强弱程度。
另外还有黑白图像,每个像素值要么是0(表示纯黑色),要么是255(表示纯白色)。

日常生活中最常见的就是RGB图像,有三个通道,分别是红色、绿色、蓝色。每个通道的每个像素值的范围也是0~255,表示其每个像素的颜色强弱。但是日常处理的基本都是灰度图像,因为比较好操作(值范围较小,颜色较单一),有些RGB图像在输入给神经网络之前也被转化为灰度图像,也是为了方便计算,否则三个通道的像素一起处理计算量非常大。当然,随着计算机性能的高速发展,现在有些神经网络也可以处理三通道的RGB图像。

3.2卷积层

卷积操作会为存在特征的区域确定一个高值,否则确定一个低值。这个过程需要通过计算其与卷积核(Convolution Kernel)的乘积值来确定。假设现在的输入图片是一个人的脑袋,而人的眼睛是需要提取的特征,那么就将人的眼睛作为卷积核,通过在人的脑袋的图片上移动来确定哪里是眼睛。
在这里插入图片描述
通过整个卷积过程又得到一个新的二维矩阵,此二维矩阵也被称为特征图(Feature Map),最后可以将得到的特征图进行上色处理(我只是打个比方,比如高值为白色,低值为黑色),最后可以提取到关于人的眼睛的特征。

如果每次计算的时候,边缘只被计算一次,而中间被多次计算,那么得到的特征图也会丢失边缘特征,最终会导致特征提取不准确,那为了解决这个问题,可以在原始的输入图像的二维矩阵周围再拓展一圈或者几圈,这样每个位置都可以被公平的计算到了,也就不会丢失任何特征,此过程可见下面情况,这种通过拓展解决特征丢失的方法又被称为Padding(填充)。Padding取值为2,拓展两圈:
在这里插入图片描述
如果使用两个卷积核去提取一张彩色图片呢?彩色图片都是三个通道,也就是说一个彩色图片会有三个二维矩阵。此时使用两组卷积核,每组卷积核都用来提取自己通道的二维矩阵的特征,只需要用两组卷积核的第一个卷积核来计算得到特征图就可以了。【注意,这里的3通道用一组也是可以的、根据自己需要来,用一组的话那就是删掉Filter W1,然后输出就只有一个矩阵。】

在这里插入图片描述

简而言之的总结:
如果是一个通道那就需要使用一个卷积核去操作(使用),三个通道需要使用3个卷积核去操作。处理多通道输入时,每个通道通常都会有对应的卷积核进行卷积操作。这个过程称为多通道卷积(Multi-channel Convolution)。当一个输入信号有多个通道时,每个通道都需要有相应的卷积核去提取特征。在每个通道上应用卷积核后,将每个通道的卷积结果求和,得到最终的输出特征图。

3.3池化层

有几个卷积核就有多少个特征图,现实中情况肯定更为复杂,也就会有更多的卷积核,那么就会有更多的特征图,当特征图非常多的时候,意味着我们得到的特征也非常多,但是这么多特征并不都是所需要的。

为了解决这个问题,可以利用池化层,池化层又称为下采样,也就是说,当进行卷积操作后,再将得到的特征图进行特征提取,将其中最具有代表性的特征提取出来,可以起到减小过拟合和降低维度的作用,这个过程如下所示:
在这里插入图片描述
其实这个过程类似于卷积的过程,就是一个正方形的小方块在图片上进行移动,每次取这个正方形方框中最具有代表性的特征,那么问题又来了,如何提取到最有代表性的特征呢,通常有两种方法:

  • 最大池化:顾名思义,最大池化就是每次取正方形中所有值的最大值,这个最大值也就相当于当前位置最具有代表性的特征。
  • 平均池化:平均池化就是取此正方形区域中所有值的平均值,考虑到每个位置的值对于此处特征的影响,平均池化计算也比较简单。
  • 还可以实现加权形式的池化,对深色区域或者浅色区域,或者明显痕迹部分进行突出表达,比如加大权重的方式进行。

3.4全连接层

卷积和最大池化之后,得到最后的特征图,此时的特征都是经过计算后得到的,所以代表性比较强,最后经过全连接层,展开为一维的向量,再经过一次计算后,得到最终的识别概率,这就是卷积神经网络的整个过程。

3.5输出层

卷积神经网络的输出层理解起来就比较简单了,只需要将全连接层得到的一维向量经过计算后得到识别值的一个概率,当然,这个计算可能是线性的,也可能是非线性的。

在深度学习中,需要识别的结果一般都是多分类的,所以每个位置都会有一个概率值,代表识别为当前值的概率,取最大的概率值,就是最终的识别结果。在训练的过程中,可以通过不断地调整参数值来使识别结果更准确,从而达到最高的模型准确率。

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

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

相关文章

C语言学习笔记day8

一维数组冒泡排序法 1. 作用 将乱序的一维数组按照从小到大的顺序排列 2. 原理示意图 3. 代码 #include <stdio.h> #include <stdlib.h> #include <time.h>int main(void) {int a[5] {0};int len sizeof(a) / sizeof(a[0]);int i 0;int j 0;int tmp …

【每日算法】理论:常见AIGC模型; 刷题:力扣单调栈

上期文章 【每日算法】理论&#xff1a;生成模型基础&#xff1b; 刷题&#xff1a;力扣单调栈 文章目录 上期文章一、上期问题二、理论问题1、stable diffusion模型的网络架构2、T5的网络架构&#xff08;Text-To-Text Transfer Transformer模型&#xff09;3、SDXL模型4、DA…

打靶记录(个人学习笔记)

一、信息收集 1、主机发现 通过nmap对此网段进行扫描&#xff0c;可以确定靶机ip为192.168.189.144 2、端口扫描 确定了靶机ip之后&#xff0c;我们来扫描端口 发现80端口开放&#xff0c;先访问80端口 用插件识别出一些信息 Wappalyzer插件获得信息&#xff1a;Web服务&am…

服务器开机不输入密码自动进系统, 与设置开机启动项

打开运行[win R ] 输入&#xff1a; control Userpasswords2设置开机启动项 运行 输入 shell:startup在这里插入图片描述

Java自定义注解实现参数校验

1、 定义注解内 自定义如下&#xff0c;本例子以校验手机号码为例 需要校验手机号码标上此注解即可。 其中Mobilelidator 类则是实现自定义校验ConstraintValidator类的接口实现类 2、ConstraintValidator 定义接口实现 ConstraintValidator 自定义接口实现如下图

【打工日常】使用Docker部署zyplayer_doc团队协作文档

一、zyplayer-doc介绍 1.zyplayer-doc是一款适合企业和个人使用的WIKI知识库管理工具&#xff0c;提供在线化的知识库管理功能&#xff0c;专为私有化部署而设计&#xff0c;最大程度上保证企业或个人的数据安全&#xff0c;公司小团队的话完全可以局域网部署一个。 2.它也可以…

计算机冯诺依曼体系结构

文章目录 前言一、冯诺依曼体系结构构成二、各硬件单元之间效率 前言 冯诺依曼体系结构是构成计算机的基本单元&#xff0c;是一个计算机架构&#xff0c;对于计算机来说冯诺依曼体系是基于计算机硬件的一套体系结构&#xff0c;现在的计算机都是遵循冯诺依曼体系结构建立设计…

ZooKeeper是如何保证数据一致性的?

目录 一、分布式一致性原理 二、ZooKeeper架构 2.1 ZAB 协议操作顺序性 2.2 领导者选举 成员身份 成员状态 领导者选举 三、总结 在分布式系统里的多台服务器要对数据状态达成一致&#xff0c;其实是一件很有难度和挑战的事情&#xff0c;因为服务器集群环境的软硬件故障随时…

信息学奥赛一本通之MAC端VSCode C++环境配置

前提 安装 Visual Studio CodeVSCode 中安装 C/C扩展确保 Clang 已经安装&#xff08;在终端中输入命令&#xff1a;clang --version 来确认是否安装&#xff09;未安装&#xff0c;在命令行执行xcode-select --install 命令&#xff0c;会自行安装&#xff0c;安装文件有点大…

ENVI实战—地物波谱分类

实验1&#xff1a;浏览内置波谱库 目的&#xff1a;学会使用波谱浏览器&#xff0c;浏览内置波谱库&#xff0c;以进行课程后继实验 过程&#xff1a; ①打开ENVI软件&#xff0c;在窗口选择“显示”并点击&#xff0c;找到“波谱库浏览器”并打开&#xff0c;此时可以浏览ENVI…

天童美语开学季|开启“热辣滚烫”的新学期

新学期伊始&#xff0c;孩子们即将踏入一个充满挑战和机遇的学习环境。在这个关键时刻&#xff0c;学校和家庭需要更加紧密地协调合作&#xff0c;以确保孩子们能够得到充分的支持和帮助&#xff0c;顺利成长。    在假期生活分享中开启新学期第一课      寒假里孩子们…

聚观早报 | 追觅科技亮相AWE2024;三星家电举办发布会

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 3月18日消息 追觅科技亮相AWE2024 三星家电举办发布会 深蓝汽车将采用华为HI模式 字节跳动2023年全球营收 特斯…

光伏便携式EL检测仪是什么?—科技助农

光伏便携式EL监测仪是一种专门用于检测光伏电池组件性能的高效、实用的设备。它利用电致发光&#xff08;Electroluminescence&#xff0c;EL&#xff09;原理&#xff0c;通过检测光伏板在受到光照后产生的电流所激发出的光线&#xff0c;来评估光伏板的性能。这种设备通常具有…

兰宝传感授权世强硬创代理全线产品,提高工业智能传感器市场渗透率

智能传感器作为工业物联、智能制造的关键核心部件&#xff0c;国产化进程下&#xff0c;当前国内市场对智能传感器的替代需求已从中低端产品延伸至高端产品&#xff0c;上游企业的产品也随之迭代更新。 为满足市场对高端智能传感器的多样化需求&#xff0c;世强先进&#xff0…

Armv8状态寄存器

Processor state AArch64没有与ARMv7当前程序状态寄存器直接对应的寄存器(CPSR)。在AArch64中&#xff0c;传统CPSR的组件以字段的形式提供可独立访问。这些统称为处理器状态(PSTATE)。 在AArch64中&#xff0c;通过执行ERET指令从异常中返回&#xff0c;这会导致要拷贝到PSTAT…

《手把手教你》系列技巧篇(四十)-java+ selenium自动化测试-JavaScript的调用执行-下篇(详解教程)

1.简介 在实际工作中&#xff0c;我们需要对处理的元素进行高亮显示&#xff0c;或者有时候为了看清楚做跟踪鼠标点击了哪些元素需要标记出来。今天宏哥就在这里把这种测试场景讲解和分享一下。 2.用法 创建一个执行 JS 的对象&#xff0c;也就是 JavascriptExecutor 对象&…

Flutter生命周期方法小技巧

需求 A界面跳转到B界面,暂停A界面的音乐或者视频B界面返回到A界面&#xff0c;播放A界面的音乐或者视频A界面切换到后台&#xff0c;暂停A界面的音乐或者视频A界面从后台切换到前台,播放A界面的音乐或者视频 需求通过理解修改为&#xff1a; 监听 StatefulWidget 的 onPause…

基于高斯模型的运动目标检测(车辆检测),Matlab实现

博主简介&#xff1a; 专注、专一于Matlab图像处理学习、交流&#xff0c;matlab图像代码代做/项目合作可以联系&#xff08;QQ:3249726188&#xff09; 个人主页&#xff1a;Matlab_ImagePro-CSDN博客 原则&#xff1a;代码均由本人编写完成&#xff0c;非中介&#xff0c;提供…

机器学习 --- 模型评估、选择与验证

Java实训代码、答案&#xff0c;如果能够帮到您&#xff0c;希望可以点个赞&#xff01;&#xff01;&#xff01; 如果有问题可以csdn私聊或评论&#xff01;&#xff01;&#xff01;感谢您的支持 第1关&#xff1a;为什么要有训练集与测试集 1、下面正确的是&#xff1f;&…

(每日持续更新)jdk api之StringReader基础、应用、实战

博主18年的互联网软件开发经验&#xff0c;从一名程序员小白逐步成为了一名架构师&#xff0c;我想通过平台将经验分享给大家&#xff0c;因此博主每天会在各个大牛网站点赞量超高的博客等寻找该技术栈的资料结合自己的经验&#xff0c;晚上进行用心精简、整理、总结、定稿&…