PyTorch深度学习

一、深度学习的概念

如上所示,人工智能包含了机器学习和深度学习,其中深度学习是机器学习的一种特殊的学习方法,人工智能的核心是深度学习

1、深度学习

深度学习需要用到大量的神经网络构建和运算模块,故出现了很多的深度学习框架:Caffe、MxNet、PyTorch和TensorFlow等,这些框架极大的简化了深度学习网络的构建过程

深度学习本质上是一个前馈神经网络

深度学习的历史可以追溯到人工神经网络,人工神经网络主要通过模拟动物的畲景源的运行模式来对显示数据进行拟合和预测,通过函数来模拟信息在神经元中的变化和传输

最早的人工神经网络是20实际60年代的Rosenblatt发明的感知机,通过对输入进行单层的线性变换来完成分类,但这个模型不能解决线性不可分的问题,现实中很多问题并不适用,后面80年代出现了多层感知机,相比简单的一层感知机,多层感知由于增加了人工神经网络的深度,对于复杂的函数的你和效果更好——对于多层感知机来说,只要参数和隐含层的数量足够,就能拟合任意的函数

同时出现了反向传播算法,用以优化多层感知机模型,但仍不适用于神经网络层数较多的时候——在较深的网络中使用反向传播算法会导致梯度消失和梯度爆炸

后来出现了深度信念网络:叠加了多层神经网络或者自编码器,并逐层训练这些神经网络单元,最后进行微调训练可以训练很深的神经网络。同时,通过调整神经元的连接和激活,出现了卷积神经网络CNN、循环神经网络RNN、残差网络RNN等。通过使用这些特殊结构的神经网络,能使梯度在神经网络内部进行有效传播,不仅能训练多层的神经网络,而且能提高模型的准确率

人们一般把现阶段的神经网络模型称为深度学习,反映了这些神经网络具有很多隐含层的特点

2、机器学习

机器学习的主要任务是在给定的现实中获取一系列数据来构建一个模型,用于描述数据的具体分布及出现的可能性

数据是人们对周围发生的一些现象的数字化描述,如图片、文本、音频等。这些数据可以分为有标签的和没有标签的,根据能够处理的数据类型,机器学习的任务大致分为两类:监督学习和无监督学习

  • 监督学习:有具体的数据和预测目标,需要从数据出发构建具体的模型和预测这些目标,其代表任务有——回归和分类
  • 无监督学习:只有数据,但是没有预测目标,需要构造具体的模型来找出数据的具体规律,代表任务为聚类

大多数的机器学习的任务都可以归结为一个模型,用这个模型描述给定的数据,得到这个模型的过程为机器学习模型的训练过程

可以认为机器学习是一个概率模型,机器学习的任务就是求解最优参数,使得概率分布最大

对训练集来说,有输入的数据 X 及其对应的标签 Y,最后求的应该是包含了 X 和 Y 的一个概率分布,概率分布有联合概率分布和条件概率分布

  • 联合概率就是所有的条件联合起来,都成立
  • 条件概率就是在一个条件成立的前提下,另一个条件也成立的概率
  • 边缘概率是仅与单个随机变量有关的概率

联合概率及其分布、边缘概率及其分布、条件概率分布和贝叶斯定理_贝叶斯联合分布-CSDN博客

一般来说,概率密度分布相对集中,意味着概率密度包含的信息较少,信息熵就比较小,反之信息熵就比较大。条件分布的信息熵小于联合分布,也就是说,判别式模型比生成式模型在大多数情况下效果好

3、损失函数和模型拟合

回归模型可以简单的认为是你和一个函数,使得输入一个值,可以给出对应的值,当模型的预测值和目标值的差值服从高斯分布,就可以使用极大似然估计的方法,代入高斯分布概率函数,计算使模型最后的参数

需要拟合最优的函数之前的函数称为损失函数,也称为方均误差函数

训练过程中,数据集一般分为三部分:训练集、验证集和测试集。验证集用于验证什么模型在什么超参数下表现更好,随着训练的进行,模型用于衡量预测的结果和真实数据的差异也会越来越小,损失函数的值也会越来越小

一般来说,随着模型的数据量的增加,模型越不容易过拟合;随着参数数目增加,也就是模型的复杂性的增加,模型越容易过拟合。机器学习中,训练集、验证集和测试集的比例可以考虑70%、20%、10%,深度学习中可以考虑90%、5%、5%的划分

神经网络中的损失函数与拟合问题_损失函数过拟合-CSDN博客

附:如何解决过拟合、欠拟合的问题

4、向量矩阵和张量

向量就是既有大小又有方向的量,矩阵是成长方形排列的数和集合,张量是多维数组

一文读懂标量、向量、矩阵、张量的关系_矩阵与张量方程-CSDN博客

由上可得,向量就是一维的张量,矩阵是二维的张量,三维的张量可以看作是按长方体排列的数,更高维度的张量较难想象——一般来说高维度的张量是低维度的张量的堆叠,例如照片的像素点是二维的张量,加上颜色的区分,RGB就是三维的张量,把多个三维的张量堆叠在一起就形成了四维的张量

维度的转换

一维的张量可以变为二维的张量:1×n 或者 n×1,二维的张量也可变为三维的张量 1×m×n 或者 m×1×n、m×n×1,而其中的元素可以保持不变

深度学习网络构造中,常常会碰到各种各样的线性变换:一类是对张量的线性变换,另一类是对张量的逐点变换;神经网络模型中,卷积层和线性层可以直接通过线性变换和矩阵乘法来计算

张量的逐点计算是对输入张量的每一个分量进行相同的运算,最后输出一个和之前输入的张量形状相同的新张量。在神经网络模型的构造中,都是一系列的线性变换和非线性的激活函数的运算交错进行叠加,最后构造出一个含有很多参数的非线性模型

张量的存储

https://www.cnblogs.com/vipsoft/p/17361876.html

5、神经元

神经元是神经网络的最基础的组成单元,它的结构由数个输入和输出组成,一个神经元的输入是上一个神经元输入的线性组合,得到的对上一个神经元的输入的增益是一个可训练的参数,称为神经网络的权重,该神经元会对经过上一个神经元增益之后的输出做一个非线性的函数变换,得到该神经元的输出结果

上述的非线性的函数变换就是激活函数,其选择有多样性,由于此函数的存在,神经网络模型的输出就是非线性的,这使得神经元的输出能够模拟不同的函数,构成了神经网络的基础

结合上述的向量、矩阵和张量的概念,可以将神经元的输入和输出排列为矩阵,使用神经网络的权重进行线性变换就可以对应成矩阵的乘法(m×n 阶矩阵和 n×m 阶矩阵相乘的话,最后得到的就是m×m 阶矩阵:相乘的要求:左列=右行),同时激活函数的计算就可以看作一个对于矩阵的每个元素的逐点计算

6、输入数据的表示方式

可以使用张量来表示神经网络中的数据,一般来说,在神经网络的神经元之间进行传递的数据是浮点数,为了将日常不是浮点数的数据进行深度学习,需要将这些数据转化为浮点数的形式才能输入神经网络进行计算,这个过程我们称之为预处理

图像数据的处理

为了保证神经网络能同时处理一批图片,需要将所有的图片调整为相同的大小,可以使用最近邻插值或者双线性插值,然后将数据转化为浮点数,如果是图像的话,就可以将它除以255,转化为0~1之间的浮点数

【图像处理】详解 最近邻插值、线性插值、双线性插值、双三次插值-CSDN博客

在输入神经网络之前,一般还需要就行归一化操作,是数据分布更加的规整,这样更有利于神经网络的训练,应当使用一批数据的张量减去所有数据的均值,除以所有数据的方差,这个过程称为归一化,归一化能有效增加神经网络模型的数值稳定性,有利于优化损失函数,从而提高训练结果的准确性

文本数据的处理

除了图像之外,文本数据也是深度学习的一种重要的输入,相比图像可以数值化,文本是有离散的字符组成的,在将文本转化为数值张量的过程需要进行一系列的预处理

首先应当进行分词,就是将连续的文本转化为单词的序列,对英文来说,这个过程很简单,可以根据空格和标点符号确定,对于中文来说,则需要借助一些分词工具完成

下一步就是停词,就是找出文本中出现频率比较高,但对文本的实际意义没有太大关联的词语,如一些语气词就是停词

去停词之后要进行正则化,就是将不同的文本形式转化为一致的文本形式,方便下一步处理

经过预处理之后,就可以将结果直接转化为词向量,这个过程称为词嵌入。具体的构造过程就是将所有的单词对应的词向量建立一个词表,最后构成一个矩阵。对深度学习来说,这个矩阵的元素首先可以进行随机初始化,也可以使用预训练的词向量(如Word2vec或者GloVe算法余弦训练号的词向量)进行初始化

音频数据的处理

音频也是一个重要的输入数据,以16bit (这个音频将按照信号的振幅取离散的2^16个值,即-32768~32767,振幅越大,声音越响)的脉冲编码调制为例,每秒采样441000个点(主要针对的是语音信号),如果需要提取音频中的信息,就要对采样时间×采样数目的电进行预处理:

  1. 将振幅从整数转化为-1~+1 之间的数,即对所有的振幅先加32768,除以32768,然后减去1.0
  2. 预加重:本质上就是加一个高通滤波器,使音频信号的高频分量提高并滤除低频噪声(实际应用中,预加重是个可选项,该步骤对信号中的噪声具有一定的滤除作用)
  3. 分帧和加窗:把音频分为20ms~40ms的小段的过程称为分帧,两段之间的重合率一般为50%,一般采样点的数目应当接近2的整数次幂;分帧之后,需要对每一帧的信号进行加窗以防止频谱泄露,增加后续傅里叶变换后的频率空间的信噪比,常用的窗函数是汉宁窗
  4. FFT:快速傅里叶变换之后会得到一个负数的向量,长度和原始信号长度相同,然后画出傅里叶变换谱
  5. Mel-scale:根据傅里叶变换谱,得到梅尔尺度上的特征信息,即对数频率尺度的特征,此特征是通过梅尔滤波器实现的,根据奈奎斯特采样定理,能最大表示信号的频率是系统采样频率的一半,通过公式: M(f) = 2595* ln(1 + f / 700)  可以得到最大的梅尔尺度值,然后在0和这个最大值中间均匀采样一定的点数,然后逆变换得到对应频率的系数,把傅里叶变换的结果乘以梅尔过滤器对应的系数,即可提取出来对应的特征——由于梅尔系数之间有一定的相关性,为了减少线性相关,可以使用梅尔倒频谱图系数(MFCC),最后还要将信号减去信号对于时间的平均,这个过程称为平均归一化

7、线性变换和激活函数

全连接线性变换

全连接线性变换是最简单的线性变换,感知机是一种简单的二分类线性分类模型

如上所示,输入层有3个神经元,隐藏层有两层,分别有4个和5个神经元,输出层有2个神经元,层与层之间的实线是线性变换关系

具体表述为:这个大小为3的向量会和一个大小为 4×3 的矩阵做矩阵乘法,最终得到一个大小为4 的向量,对于此向量,需要对每个分量求一个激活函数,得到一个层隐藏层的值,同理,将第一层的值乘以 5×4 的矩阵,然后在得到的结构上面再加一个激活函数,就会得到一个大小为5 的向量,这就是第二层隐藏层的值,最后再经过一系列的线性变换和激活函数的作用下得到大小为2的向量,这个向量就是神经网络模型最后的输出值

可以看到,下层网络的每个值斗鱼前一层的神经网络的每个值相关联,这种就是全连接层,对应的变换就是全连接线性变换

对于多层感知机来说,神经网络的连接层中的每一层都是全连接层,对于全连接层来说,可以使用矩阵的方式描述这个过程,如对一个 n 大小的输入,乘以一个 m×n 的矩阵,就会得到 m 大小的输出,乘以一个 m×n 的矩阵就是一种线性描述,此矩阵就是连接的权重

对于神经网络来说,权重是经过一定随机初始化后经过训练就会逐渐想着让模型变得更好的方向发展,这个过程称为模型的优化

除权重外,一般还会给线性变换之后的输出统一加一个可训练的参数,这个参数是标量,即为一个实数,称之为偏置

多层感知机

一个多层感知机模型,把神经元分为三层:即输入层、隐藏层和输出层——其中输入层接收输入特征,输出层给出最终的预测结果,中间的隐藏层用于提取特征和进行非线性变换

多层感知机(Multilayer Perceptron,简称MLP)

一种基于前馈神经网络(Feedforward Neural Network)的深度学习模型,由多个神经元层组成,其中每个神经元层与前一层全连接。多层感知机可以用于解决分类、回归和聚类等各种机器学习问题

多层感知机优点:

    多层感知机具有较强的表达能力,可以处理非线性问题和高维数据
    MLP可以通过反向传播算法进行训练,可以自动学习特征和模式
    MLP可以处理多分类问题和回归问题,具有较好的泛化能力
    MLP可以通过添加正则化项、dropout等技术来防止过拟合

多层感知机缺点:

    多层感知机的训练时间较长,需要大量的计算资源和时间
    MLP对初始权重和偏置的选择比较敏感,可能会导致模型陷入局部最优解
    MLP对数据的标准化和预处理要求较高,需要进行归一化、标准化等处理
    MLP难以解释和理解,不如决策树等模型具有可解释性

卷积线性变换

全连接的线性变换由于前一层和厚一层的所有神经元之间都有一对一的连接关系,在实际训练中,这种关系可能有许多荣誉,对于神经网络模型的训练并不友好

卷积神经网络是一种稀疏表示连接关系的方法,它通过在输入数据上应用卷积操作来提取局部特征,并通过训练过程自动学习这些卷积操作的参数

包含了多个可学习的滤波器(也称为卷积核),这些滤波器在输入数据上滑动,进行卷积操作并生成特征图。每个滤波器专注于检测输入数据的不同特征,如边缘、纹理等。通过堆叠多个卷积层,网络能够学习到更加复杂和抽象的特征

卷积神经网络(Convolutional Neural Network,CNN)

激活函数

为了让神经网络引入非线性特征,需要再线性变换中插入非线性层,故引入了激活函数的概念

激活函数是一系列非线性函数的同城,通过对线性变换中输出结果的每个分量都应用激活函数,可以输出非线性的结果,理论上,所有的非线性函数都可用于激活函数

激活函数就是对系统的激励函数,常用的激活函数的区别如下:

常用激活函数(激励函数)理解与总结-CSDN博客

一般来说输出层是没有激活函数的,如果是二分类问题,可以直接使用Sigmoid函数作为输出,因为此函数的输出在0~1之间,能够表示二分类中的某一个分支的概率

如果是多分支问题,最后一层的线性输出要等于最终的分类的数目,具体输出的每一个类的概率需要Softmax激活函数得到

线性变换和激活函数构成了神经网络的基础,通过这两个元素,我们可以构造出多种多样的神经网络,这些神经网络也根据激活函数的不同,能够进行回归和分类任务

8、链式求导法则和反向传播

油壶深度学习模型的过程是优化模型的权重,从而让损失函数尽可能小的过程

可以将深度学习模型的损失函数看作是一个有两个参数的函数,一个参数是输入的数据,另一个是线性变换的权重,在给定输入数据(训练集)的情况下,如果想要求得最优的权重,需要求得损失函数相对权重的导数(梯度),然后沿着导数的方向对全中进行变化

基于链式求导的梯度计算

深度学习模型是由输入层、隐含层和输出层构成的,最后的损失函数是由输出层的值决定,最终的损失函数是所有中间层的权重的复合函数

在神经网络中,前向计算是为了得到损失函数,反向计算的时候,一开始获得的是损失函数相对于输出层神经元的函数和其对应的导数值,此时应当计算损失函数相对于前一层神经元值的导数式,进一步求出前一层的对应导数,这样就能求得损失函数相对于所有权重的导数值,这个过程称为反向传播

激活函数的导数

对具体的激活函数求导,可以知道:ReLU函数的导数在 x=0 的时候有一个阶梯跳跃,从0变化到了1,相应的导数的值为1/4,在 x 很大或很小的时候,激活函数的导数都趋近于0

一般把 x=0 出的导数定义为0,ReLU函数在 x>0 的体哦阿健下导数为1,说明在反向传播中,后一层的导数能够很容易的传导到前一层二没有任何的衰减,这个函数行为有助于梯度在神经网络中的反向传播,对深度学习的神经网络的训练非常有意义

梯度消失和梯度爆炸

在神经网络训练中,梯度的传播是一个反向传播的过程,而且与每一层的权重的数据相关,当神经网络很深的时候,我们可以看到,使用 Sighmoid 函数和Tanh函数作为激活函数(每次的梯度都小于1),在反向传播的时候,因为每次数据梯度的传播都要诚意关于数据的导数,数据梯度就会越来越小,对应的权重也会越来越小,这样就会造成梯度的反向传播,靠前的神经网络层的梯度非常小,这部分的而权重会难以进行优化,这个现象就是梯度消失——如果使用这两个函数作为激活函数,前面几层的梯度就会非常接近于0,这就是普通的神经网络都用比较浅的基层隐含层的原因,使用ReLU函数作为激活函数可以解决这个问题

ReLU函数既可以提供部分深度学习需要的非线性激活函数,也因为其特殊的梯度,能够解决梯度消失的问题,在深度学习的反向传播中,数据梯度起着非常大的作用,而数据梯度和权重也有很大的关系,假如一开始权重就取得很大,随着反向传播的过程,数据梯度就会逐渐变大,最后在前几层会变得非常大,这个过程称为梯度爆炸

由于数据梯度和权重梯度相互耦合,在这个情况下对权重进行优化可能会导致权重进一步增大,这样就会导致权重不稳定,导致深度学习的模型很难优化,甚至优化过程中数值很不稳定;同理,权重如果很小,机会造成梯度消失的情况

权重的初始化非常重要,其核心是让下一层的数据的绝对值尽可能分布在1附近,也可对神经网络反向传播中的梯度作截断,避免梯度在传播过程中过大的问题

数值梯度

权重和数据梯度的计算是神经网络的核心算法,现代的深度学习框架基本都自带微分功能,也就是说,对于框架提供的所有层,如果有数据的输入,输出和权重,能够根据反向传入的梯度来计算对应的输入数据的数据梯度和线性变换层的权重梯度,这样,通过建立神经网络所有结点的哈桑农户和最后的损失函数,反向计算数据梯度和权重梯度,递归到输入节点,就能得到路径上所有权重的梯度

9、损失函数和优化器

神经网络中的损失函数可以划分为用于费雷的损失函数和用于回归的损失函数

用于分类的损失函数又分为两类:一类是二分类的神经网络,输出的激活函数是Sigmoid函数,对应的损失函数是二分类的交叉熵。深度学习的优化器一般是使损失函数最小

对于多分类问题来说,使用的是概率分布,由Softmax函数产生,对应的损失函数是多分类交叉熵

基于梯度的优化器

之所以要计算神经网络中的梯度,是为了在后续的优化算法中使用梯度下降算法进行优化

根据微积分的知识,在函数的极小点附近,如果沿着函数的梯度方向行走,函数的值是下降的,一般函数中控制权重沿梯度下降的参数就是学习率——当学习率较小的时候,权重梯度优化速度比较慢,优化的过程也是连续的,能够逐渐收敛到函数的极小点的位置;当学习率比较大的时候,每次变化的步长较大,梯度优化的速度较快,但优化过程可能是不连续额的,这导致了函数在某些值附近震荡收敛,甚至会导致整个优化行为的数值不稳定

深度学习中,需要一次性给定所有的数据的权重梯度,采用的方法是使用迷你批次的数据来评估神经网络的权重梯度,并且使用估算得到的权重梯度来对模型进行梯度下降优化:一般就是对所有的数据进行随机排列,然后从这些数据里面随机抽取一些数据,抽取的数目称为批次大小,计算出每个数据的损失函数,并对损失函数求平均,接着用平均后的损失函数进行反向传播,计算对应的权重梯度

一般称包含了所有数据的迷你批次为迭代期,称训练完一次训练数据包含的所有迷你批次为一个迭代器,实际训练往往需要几十甚至几百个迭代期,一个迷你批次算出来的梯度并不能代表所有的数据的梯度,只能代表所有数据梯度的一个近似,故梯度下降的过程有一定的随机性,这种优化算法称为随机梯度下降算法,实际应用中,该算法具有一定的不稳定性,需要调节学习率使得损失函数最小出于下降比较快的状态

对随机梯度算法引入动量,可以使算法更接近真实的梯度,增加了算法的稳定性,还可引入权重梯度的平方进行优化:将历史的权重梯度的分量平方求和,并用这个平方和更新权重

10、学习率衰减和权重衰减

在深度学习中,优化的时候,如果损失函数逐渐下降,然后停滞了,可以尝试降低学习率,然后观察学习率是否继续下降,正常情况下,学习率降低之后,损失函数也会有一定的下降

优化器除了能优化神经网络之外,还能对神经网络进行一定的正则化,具体方法就是使用权重衰减,在优化过程中设法引入和权重相关的项,在存在正则化的情况下,优化器沿着梯度下降的方向进行优化,然后把权重替换为 1-α 倍的权重,就相当于对权重进行了衰减

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

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

相关文章

Unity 窗口化设置

在Unity中要实现窗口化,具体设置如下: 在编辑器中,选择File -> Build Settings。在Player Settings中,找到Resolution and Presentation部分。取消勾选"Fullscreen Mode",并选择"Windowed"。设…

数据库的横表和竖表

先来看个图: 定义如下: 横表:在一行数据中包含了所有的属性,一行就代表了一个完整的实体 竖表:在一行中只存储一个实体的一个属性,多个行组合在一起才组成一个完整的属性适用场景: 横表:对查…

(C++笔试题)选择题+编程题

个人主页:Lei宝啊 愿所有美好如期而遇 选择题 第一道 下面对析构函数的正确描述是() A. 系统不能提供默认的析构函数B. 析构函数必须由用户定义C. 析构函数没有参数D. 析构函数可以设置默认参数 解析: 正确描述析构函数的…

WebPack的使用及属性配、打包资源

WebPack(静态模块打包工具)(webpack默认只识别js和json内容) WebPack的作用 把静态模块内容压缩、整合、转译等(前端工程化) 1️⃣把less/sass转成css代码 2️⃣把ES6降级成ES5 3️⃣支持多种模块文件类型,多种模块标准语法 export、export…

GESP Python编程二级认证真题 2024年3月

Python 二级 2024 年 03 月 1 单选题(每题 2 分,共 30 分) 第 1 题 小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙,这个鸿蒙是?( ) A. 小程序 B. 计时器 C. 操作系统…

Stable Diffusion之核心基础知识和网络结构解析

Stable Diffusion核心基础知识和网络结构解析 一. Stable Diffusion核心基础知识1.1 Stable Diffusion模型工作流程1. 文生图(txt2img)2. 图生图3. 图像优化模块 1.2 Stable Diffusion模型核心基础原理1. 扩散模型的基本原理2. 前向扩散过程详解3. 反向扩散过程详解4. 引入Late…

Java_20 元素和最小的山形三元组

元素和最小的山形三元组 给你一个下标从 0 开始的整数数组 nums 。 如果下标三元组 (i, j, k) 满足下述全部条件&#xff0c;则认为它是一个 山形三元组 &#xff1a; i < j < knums[i] < nums[j] 且 nums[k] < nums[j] 请你找出 nums 中 元素和最小 的山形三元…

【如何解决一些常见的 Composer 错误的保姆级讲解】

&#x1f308;个人主页:程序员不想敲代码啊&#x1f308; &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家&#x1f3c6; &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提…

ABAP AMDP 示例

AMDP 是HANA开发中的一种优化模式 按SAP的官方建议&#xff0c;在可以使用Open SQL实现需要的功能或优化目标的时候&#xff0c;不建议使用AMDP。而在需要使用Open SQL不支持的特性&#xff0c;或者是大量处理流和分析导致了数据库和应用服务器之间有重复的大量数据传输的情况…

SiameseRPN原理详解(个人学习笔记)

参考资源&#xff1a; 视觉目标跟踪SiamRPNSiameseRPN详解CVPR2018视觉目标跟踪之 SiameseRPN 目录&#xff09; 1. 模型架构1.1 Siamese Network1.2 RPN 2. 模型训练2.1 损失函数2.2 端到端训练2.3 正负样本选择 3. 跟踪阶段总结 SiamRPN是在SiamFC的基础上进行改进而得到的一…

开源,微信小程序-超级计算器T3000 简介

笔者于四年前自学微信小程序开发&#xff0c;这个超级计算器T3000就是当时的练习作品。超级计算器T3000的功能有很多&#xff0c;其中的核心技术是矩阵计算&#xff0c;使用的工具库是math.js&#xff0c;其次是复杂运算和分式运算。关于math.js的使用&#xff0c;可以参考另一…

基于springboot的船舶维保管理系统

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…

Kibana操作Elasticsearch教程

文章目录 简介ES文档操作创建索引查看索引创建映射字段查看映射关系字段属性详解typeindexstore 字段映射设置流程 新增数据新增会随机生成id新增自定义id智能判断 修改数据删除数据查询基本查询查询所有&#xff08;match_all&#xff09;匹配查询多字段查询词条匹配多词条精确…

可望而不可即的“人文关怀”

死亡既然是最后的归宿&#xff0c;生命的必然&#xff0c;自然也就没有必要过多地害怕了。一切顺其自然&#xff0c;交给“命运”就是了。 我参观过英国的临终关怀医院&#xff0c;这是世界上最早的一所临终关怀医院&#xff0c;已有100多年历史。 那里的大多数病人都只剩一个…

沃通国密SSL根证书入根赢达信国密浏览器

近日&#xff0c;沃通CA国密SSL根证书正式入根赢达信国密安全浏览器&#xff0c;携手推动国产密码技术应用、完善国密应用生态体系&#xff0c;也标志着沃通国密SSL证书兼容性再次得到提升&#xff0c;进一步夯实国密应用根基。 密码算法的安全性是信息安全保障的核心&#xff…

ethers.js:sign(签名)

Signers 在ethers中Signer是以太坊账户的抽象&#xff0c;可以用来签名消息和交易&#xff0c;如将签名的交易发送到以太坊网络以执行状态更改的操作。 npm install ethers5.4.0// 引入 import { ethers } from ethers签名 this.provider new ethers.providers.Web3Provider(…

数据库系统概论(超详解!!!) 第四节 关系数据库标准语言SQL(Ⅱ)

1.数据查询 SELECT [ ALL | DISTINCT] <目标列表达式>[&#xff0c;<目标列表达式>] … FROM <表名或视图名>[&#xff0c; <表名或视图名> ] … [ WHERE <条件表达式> ] [ GROUP BY <列名1> [ HAVING <条件表达式> ] ] [ ORDER BY…

设计模式——结构型——外观模式Facade

处理器类 public class Cpu {public void start() {System.out.println("处理器启动了...");} } 内存类 public class Memory {public void start() {System.out.println("内存启动了...");} } 硬盘类 public class Disk {public void start() {Syste…

主流公链 - Monero

Monero: 加密货币的隐私标杆 1. 简介 Monero&#xff08;XMR&#xff09;&#xff0c;世界语中货币的意思&#xff0c;是一种去中心化的加密货币&#xff0c;旨在提供隐私和匿名性。与比特币等公开区块链不同&#xff0c;Monero专注于隐私保护&#xff0c;使用户的交易记录和余…

系统分析师-软件开发模型总结

前言 软件工程模型也称软件开发模型。它是指软件开发全部过程、活动和任务的结构框架&#xff0c;通过该模型能清晰、直观地表达软件开发全过程&#xff0c;明确地规定要完成的主要活动和任务&#xff0c;它奠定了软件项目工作的基础 一、瀑布模型&#xff08;Waterfall Model…