深度学习应用开发 课件 第4章 神经网络_第1页
深度学习应用开发 课件 第4章 神经网络_第2页
深度学习应用开发 课件 第4章 神经网络_第3页
深度学习应用开发 课件 第4章 神经网络_第4页
深度学习应用开发 课件 第4章 神经网络_第5页
已阅读5页,还剩168页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

认识生物神经网络01任务认识人工神经网络02任务目录11认识生物神经网络1认识生物神经网络概念:生物神经网络(BiologicalNeuralNetworks)一般指生物的大脑神经元,细胞,触点等组成的网络,用于产生生物的意识,帮助生物进行思考和行动;神经元是人类大脑的一个组成单元,人脑神经系统约有860亿个神经元组成,每个神经元有上千个突触与其他神经元相连接;神经元的状态取决于从其他神经元接收的输入信号量,当信号量总和超过了阈值,细胞体被激活,产生电脉冲;神经元的状态(兴奋或抑制)通过突触传送到其他神经元,神经元之间的连接通过神经递质进行传播。1认识生物神经网络经典的神经元结构1认识生物神经网络一个人的智力不完全由遗传决定,大部分来自于生活经验.也就是说人脑神经网络是一个具有学习能力的系统;在人脑神经网络中,每个神经元本身并不重要,重要的是神经元如何组成网络.不同神经元之间的突触有强有弱,其强度是可以通过学习(训练)来不断改变的,具有一定的可塑性.不同的连接形成了不同的记忆印痕。2认识人工神经网络人工神经网络概念:受到人脑神经系统的启发,早期的神经科学家构造了一种模仿人脑神经系统的数学模型,称为人工神经网络(ArtificialNeuralNetworks),简称神经网络;在机器学习领域,神经网络是指由很多人工神经元构成的网络结构模型,这些人工神经元之间的连接强度是可学习的参数;人工神经元模型是一个包含输入、计算、输出功能的数学模型。2人工神经网络2人工神经元结构元素:输入,类比于树突计算,类比于细胞体

输出,类比于轴突权重,类比于突触强度阈值,类比于阈值激活函数,执行模型的非线性变换注:所有输入的加权求和超过阈值时,神经元被激活否则处于抑制状态。人工神经网络2人工神经元的特征:神经元是多输入、单输出的元件;具有非线性的输入、输出特征;具有可塑性,调整权重的过程称为“学习”或者“训练”;神经元的输出响应是输入值的综合作用的结果;输入分为兴奋(正值)和抑制(负值)两种。ThankYOU!目录1初识感知机01任务感知机的数学定义02任务感知机的几何意义03任务感知机的局限性04任务1初识感知机1初识感知机1958年,美国心理学家FrankRosenblatt提出了第一个可以自动学习权重的神经元模型,称为感知机(Perceptron),感知机(perceptron),又称“人工神经元”或“朴素感知机。如图所示,为感知机的基本结构:感知机的基本结构1初识感知机感知机输入为实例的特征向量,输出为实例的类别,取+1和-1二值;感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型,解决的问题是分类问题;感知机学习算法具有简单而易于实现的优点,分为原始形式和对偶形式;感知机预测是用学习得到的感知机模型对新的输入实例进行分类;感知机算法是支持向量机(SVM)和神经网络的基础,学好感知机大有裨益。2感知机的数学定义2感知机的数学定义

2感知机的数学定义感知机是线性模型,不能处理线性不可分问题,通过在线性模型后添加激活函数(Activationfunction)后得到活性值(Activation):𝑎=𝜎(𝑧)=𝜎(𝒘𝑇𝒙+𝑏)注:线性不可分问题就是一个数据集不可以通过一个线性分类器(直线、平面)来实现分类。2感知机的数学定义感知机中的激活函数为阶跃函数(Stepfunction)或符号函数(Signfunction),阶跃函数的输出只有0/1两种数值,当𝑧<0时输出0,代表类别0;当𝑧≥0时输出1,代表类别1;符号函数输出为-1和1两种值。阶跃函数和符号函数3感知机的几何意义3感知机的几何意义感知机模型是线性分类模型,其线性方程

w·x+b=0

对应于特征空间中的一个超平面S(可以同时存在多个超平面),超平面将特征空间分成两部分,位于两侧的点分别为正负两类。其中w是超平面的法向量,b是超平面的截距。4感知机的局限性4感知机的局限性添加激活函数后,感知机可以用来完成二分类任务的分类;阶跃函数和符号函数𝑧=0处是不连续的,其他位置导数为0,无法利用梯度下降算法进行参数优化;以感知机为代表的线性模型不能解决异或(XOR)等线性不可分问题,这直接导致了当时新兴的神经网络的研究进入了低谷期。ThankYOU!目录1全连接神经网络的概念01任务02任务全连接神经网络的反向传播03任务全连接神经网络的前向计算全连接神经网络的局限性04任务1全连接神经网络的概念1全连接神经网络的概念全连接神经网络(FullyConnectedNeuralNetwork,FC)是深度学习的开端,全连接神经网络是最基本的神经网络,网络参数多,计算量大,全连接即为除输入层之外的每个神经元都和上一层所有的神经元有连接。如下图是一个全连接神经网络:输入层:输入层各神经元负责接收来自外界的输入信息,并传递给隐藏层;隐藏层:隐藏层负责内部信息处理和信息变化。隐藏层可以设计为单隐层和多隐层;输出层:输出层向外界传输处理结果。2全连接神经网络的前向计算2全连接神经网络的前向计算前向计算,即一个线性的加权求和的过程,全连接层中每一个神经元的输出都可以看成前一层的每一个结点乘以一个权重系数W,最后加上一个偏置值b得到:其中,x1、x2、x3为全连接层的输入,a1、a2、a3为输出,则:3全连接神经网络的反向传播3全连接神经网络的反向传播1、反向传播算法(简称BP模型)是1986年提出的前馈神经网络,是目前应用最广泛的神经网络;2、反向传播算法是一种按照误差逆向传播算法训练的多层前馈神经网络,反向传播指误差反向传播;3、反向传播算法系统的解决了多层神经网络隐含层连接权重的学习问题,具有任意复杂的模式分类能力和优良的多维函数映射能力;4、解决了简单感知器不能解决的异或(ExclusiveOR,XOR)和一些其他问题。4全连接神经网络的局限性4全连接神经网络的局限性在用全连接前馈网络来处理图像时,会存在以下两个问题,(1)参数太多:如果输入图像大小为100×100×3,在全连接神经网络中,第一个隐藏层的每个神经元到输入层都有100×100×3=30000个互相独立的连接,每个连接都对应一个权重参数。随着隐藏层神经元数量的增多,参数的规模也会急剧增加.这会导致整个神经网络的训练效率非常低,也很容易出现过拟合。(2)难以提取局部不变性特征:自然图像中的物体都具有局部不变性特征,比如尺度缩放、平移、旋转等操作不影响其语义信息。而全连接神经网络很难提取这些局部不变性特征,一般需要进行数据增强来提高性能。ThankYOU!目录1激活函数的概念01任务02任务激活函数的性质03任务激活函数的作用常用的激活函数04任务1激活函数的概念1激活函数的概念激活函数在前面也提到过,神经网络神经元中,输入的inputs通过加权,求和后,还被作用了一个非线性函数,这个函数就是激活函数

(ActivationFunction)。2激活函数的作用2激活函数的作用神经网络中激活函数的主要作用是提供网络的非线性建模能力,激活函数一般而言是非线性函数;假设一个示例神经网络中仅包含线性卷积和全连接运算,那么该网络仅能够表达线性映射,即便增加网络的深度也依旧还是线性映射,难以有效建模实际环境中非线性分布的数据;加入(非线性)激活函数之后,深度神经网络才具备了分层的非线性映射学习能力。3激活函数的性质3激活函数的性质非线性:激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,一般激活函数是非线性函数;可微性:当优化方法是基于梯度的时候,这个性质是必须,Δy=A×Δx+ο(Δx);单调性:

当激活函数是单调的时候,单层网络能够保证是凸函数;输出与输入值相差不大:

保证神经网络的高效训练,y≈x;输出值的范围:当激活函数输出值是有限的时候,基于梯度的优化方法会更加稳定。4常用的激活函数4常用的激活函数(1)SigmoidSigmoid函数也叫Logistic函数,定义为:4常用的激活函数优点:能够把𝑥∈𝑅的输入“压缩”到𝑥∈[0,1]区间,可以通过Sigmoid函数将输出转译为概率输出;Sigmoid函数连续可导,相对于阶跃函数,可以直接利用梯度下降算法优化网络参数,应用的非常广泛

不足:在输入值较大或较小时,易出现梯度值接近于0的现象,称为梯度弥散现象,网络参数长时间得不到更新,很难训练较深层次的网络模型。实现:在TensorFlow中,可以通过tf.nn.sigmoid()实现Sigmoid函数4常用的激活函数(2)ReLU(RectifiedLinearUnit,修正线性单元)定义为:4常用的激活函数优点:ReLU函数的设计源自神经科学,计算十分简单,同时有着优良的梯度特性,在大量的深度学习应用中被验证非常有效,是应用最广泛的激活函数之一。不足:ReLU函数在x<0时梯度值恒为0,也可能会造成梯度弥散现象。实现:在TensorFlow中,可以通过tf.nn.relu实现ReLU函数。4常用的激活函数(3)softmax将输出值映射到[0,1]区间,且满足所有的输出值之和为1的特性,适用于多分类问题,表示每个类别的概率.定义为:优点:提高了数值计算的稳定性;不足:容易因输入值偏大发生数值溢出现象;实现:在TensorFlow中,可以通过tf.nn.softmax实现。ThankYOU!目录1损失函数的概念01任务02任务回归任务损失03任务分类任务损失1损失函数的概念1损失函数的概念1、机器学习模型关于单个样本的预测值与真实值的差称为损失。损失越小,模型越好,如果预测值与真实值相等,表示没有损失;

2、用于计算损失的函数称为损失函数,模型预测的好坏用损失函数来度量。1损失函数的概念损失函数越小,一般就代表模型的鲁棒性(Robust)越好,正是损失函数指导了模型的学习。机器学习的任务本质上分为两大类:分类问题与回归问题2分类任务损失2分类任务损失分类任务损失有以下几种:1、0-1loss0-1loss是最原始的loss,它直接比较输出值与输入值是否相等,数学公式:2、交叉熵loss交叉熵损失在分类问题中是最常见的损失函数,随着预测概率偏离实际标签,交叉熵损失会逐渐增加,数学公式:交叉熵损失会加重惩罚置信度高但错误的预测值。2分类任务损失3、Hingeloss

数学定义如下:Hingeloss常用于最大间隔分类,主要用于支持向量机中。3回归任务损失3回归任务损失回归任务损失有以下几种:1、L1lossL1损失,也称平均绝对误差(MAE),简单说就是计算输出值与真实值之间误差的绝对值大小,定义如下:由于L1loss在零点不平滑,所以用的比较少。3回归任务损失2、L2lossL2损失,也称均方误差(MeanSquareError,MSE)是模型预测值f(x)与真实样本值y之间差值平方的平均值,其公式如下:3回归任务损失3、SmoothL1Loss在FasterR-CNN和SSD中对边框的回归使用的损失函数都是SmoothL1作为损失函数,定义如下:其中,x为真实值和预测值的差值。Smooth

L1能从两个方面限制梯度:当预测框与groundtruth差别过大时,梯度值不至于过大;当预测框与groundtruth差别很小时,梯度值足够小。3回归任务损失L1Loss,L2Loss以及SmoothL1曲线对比ThankYOU!目录1案例目标01任务02任务环境配置03任务案例分析案例实施04任务1案例目标1案例目标掌握全连接神经网络的原理和构建方法;掌握keras数据集模块的使用方法;掌握keras框架的顺序模型搭建方法;掌握keras框架建模流程;2案例分析2案例分析本案例基于TensorFlow2.0框架,采用全连接神经网络,实现经典的MNIST手写数字识别项目。使用的数据集是keras数据集模块内置的MNIST数据集;MNIST数据集是由美国国家标准与技术研究院在20世纪80年代收集得到,它是机器学习领域的一个经典数据集,而且已被人们深入研究;数据集中图像大小为28×28像素,是单通道的灰色图像,包括十个类别,即0~9十个类别的数字;数据集包含60000张训练图像和10000张测试图像。2案例分析MNIST

数据集来自美国国家标准与技术研究所,由来自

250

个不同人手写的数字构成,其中

50%

是高中学生,50%

来自人口普查局的工作人员。数据集包含四部分:Trainingsetimages(60,000个样本)Trainingsetlabels(60,000个标签)Testsetimages(10,000个样本)Testsetlabels(10,000个标签)3环境配置3环境配置Windows10jupyternotebooktensorflow=2.10.04案例实施4案例实施1、导入包4案例实施2、加载数据集4案例实施3、构建全连接神经网络4案例实施4、编译、训练、评估模型ThankYOU!目录1卷积的定义01任务卷积的参数02任务卷积的过程03任务1卷积的定义1卷积的定义卷积的定义:卷积(Convolution),也叫褶积,是分析数学中一种重要的运算.在信号处理或图像处理中,经常使用一维或二维卷积。一维卷积:一维卷积经常用在信号处理中,用于计算信号的延迟积累:我们把wk称为滤波器(Filter)或卷积核(ConvolutionKernel),卷积核中的参数称为权值或权重。1卷积的定义二维卷积:图像在计算机中存储的是像素,是二维网格数据,用不同的数字来表示不同的颜色,图像由数字组成的矩阵的形式存储在计算机中,二维卷积主要做图像处理。2卷积中的参数2卷积中的参数下图为一个二维卷积,卷积是一种运算方式,也就是按照卷积核,将输入对应位置的数据进行加权和运算:2卷积中的参数卷积中的两个重要参数:卷积核、步长卷积核:就是图像处理时,对输入图像像素进行加权求和得到输出图像的像素,其中权值由一个函数定义,这个函数称为卷积核;步长:步长是指卷积核在输入图像上向右和向下的滑动距离。3卷积的过程3卷积的过程卷积的动态过程:做图像处理时,卷积的过程是一个动态的过程,由卷积核在输入图像上滑动进行卷积操作,黄色框内是一个3×3的卷积核,该卷积核在一张5×5的图像上做卷积操作,获得的输出,动图如下:3卷积的过程如下图是一个RGB图像的卷积过程,输入图像有3个通道,2个滤波器,每个滤波器包括3个大小为3×3的卷积核,卷积输出为2通道的大小为3×3的特征图(featuremap)3卷积的过程LenaThankYOU!目录1卷积神经网络的定义01任务卷积神经网络的层级结构02任务1卷积神经网络的定义1卷积神经网络的定义卷积神经网络(ConvolutionalNeuralNetworks,简称CNN):是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习(deeplearning)的代表算法之一。如下是第一个使用卷积操作的LeNet-5的网络结构:著名的CNN

LeNet-5整体结构2卷积神经网络的层级结构2卷积神经网络的层级结构卷积神经网络(CNN)一般由输入层(Input)、卷积层(Conv)、激活函数(ReLU)、池化层(Pooling)、全连接层(FC)组成。2卷积神经网络的层级结构1、输入层输入层一般用来接收RGB图像,输入的是图像的像素矩阵:2卷积神经网络的层级结构2、卷积层卷积是从输入图像中提取特征的第一层,Conv层的目标是提取输入数据的特征。卷积通过使用卷积核在输入图像上滑动,以提取图像特征,同时保持像素之间的关系。2卷积神经网络的层级结构我们一般用层数较多的卷积神经网络得到更深层次的特征2卷积神经网络的层级结构3、激活函数激活函数ReLU为例,ReLU代表整流线性单元,用于非线性操作:2卷积神经网络的层级结构4、池化层池化层夹在连续的卷积层中间,用于压缩数据和参数的量,也称为子采样层或下采样层2卷积神经网络的层级结构5、全连接层我们称之为FC(fullyconnectedlayers,FC)层,我们将矩阵展平为矢量并将其馈入神经网络的全连接层,通过激活功能,如softmax或sigmoid,输出分类标签。ThankYOU!目录1LeNet-5的网络结构01任务LeNet-5的贡献02任务LeNet-5的网络层03任务1LeNet-5的网络结构1LeNet-5网络结构图LeNet-5是最早提出的卷积神经网络,该网络是由YannLeCun基于1988年以来的工作提出。基于LeNet-5的手写数字识别系统在20世纪90年代被美国很多银行使用,用来识别支票上面的手写数字。

LeNet-5网络结构图如下:LeNet-5网络结构图2LeNet-5的贡献2LeNet-5的贡献LeNet-5的贡献:在神经网络中引入卷积层;引入下采样层;采用“卷积+池化(下采样)+非线性激活”的结构,该结构是CNN典型特征;使用MPL作为分类器。3LeNet-5的网络层3LeNet-5的各层(1)输入层读入需要被网络处理的图片,这里图片的大小为32*32的灰度图片(2)Conv1层图片大小:32x32,通道数为1filter(卷积核):5x5x6(大小5x5,个数6)步长:1输出:28x28x6采用的卷积方式:padding=vaild3LeNet-5的各层(3)S2层图片大小:28x28池化窗口:2x2个数:6输出:14x14x6(4)Conv3层图片大小:14x14,通道数为6filter(卷积核):5x5x16(大小5x5,个数16)步长:1输出:10x10x16采用的卷积方式:vaild3LeNet-5的各层(5)S4层图片大小:10x10池化窗口:2x2个数:16输出:5x5x16(6)Conv5层图片大小:5x5,通道数为16filter(卷积核):5x5x120(大小5x5,个数120)步长:1输出:1x1x120采用的卷积方式:vaild3LeNet-5的各层(7)F6层输入向量维度:[1,120]权重参数的维度:[120,84]计算方式:输入的向量与权重参数之间用矩阵点积的方式进行运算,得到一个输出维度为[1,86]的向量(8)OUTPUT层输入向量维度:[1,84]权重参数的维度:[84,10]计算方式:输入的向量与权重参数之间用矩阵点积的方式进行运算,得到一个输出维度为[1,10]的向量ThankYOU!目录1AlexNet简介01任务AlexNet网络结构02任务AlexNet网络层03任务1AlexNet简介1AlexNet简介AlexNet是2012年首届ImageNet图像分类竞赛冠军模型,由Hinton和他的学生Alex提出,首次证明了学习到的特征可以超越手工设计的特征。AlexNet有以下贡献:使用ReLU作为非线性激活函数数据扩增使用最大池化使用dropout避免过拟合使用GPU减少训练时间2AlexNet网络结构2AlexNet网络结构Alexnet包含5个卷积层和3个全连接层,层数为8层3AlexNet网络层3AlexNet网络层(1)第一个卷积层,使用两个大小为11×11×3的卷积核,步长𝑆=4,零填充𝑃=3,得到两个大小为55×55×48的特征映射组;(2)第一个汇聚层,使用大小为3×3的最大汇聚操作,步长𝑆=2,得到两个27×27×48的特征映射组.这里的汇聚操作是有重叠的,以提取更多的特征;(3)第二个卷积层,使用两个大小为5×5×48×128的卷积核,步长𝑆=1,零填充𝑃=2,得到两个大小为27×27×128的特征映射组;3AlexNet网络层(4)第二个汇聚层,使用大小为3×3的最大汇聚操作,步长𝑆=2,得到两个大小为13×13×128的特征映射组;(5)第三个卷积层为两个路径的融合,使用一个大小为3×3×256×384的卷积核,步长𝑆=1,零填充𝑃=1,得到两个大小为13×13×192的特征映射组;

(6)第四个卷积层,使用两个大小为3×3×192×192的卷积核,步长𝑆=1,零填充𝑃=1,得到两个大小为13×13×192的特征映射组。3AlexNet网络层(7)第五个卷积层,使用两个大小为3×3×192×128的卷积核,步长𝑆=1,零填充𝑃=1,得到两个大小为13×13×128的特征映射组;(8)第三个汇聚层,使用大小为3×3的最大汇聚操作,步长𝑆=2,得到两个大小为6×6×128的特征映射组;(9)三个全连接层,神经元数量分别为4096、4096和1000。此外,AlexNet还在前两个汇聚层之后进行了局部响应归一化(LocalResponseNormalization,LRN)以增强模型的泛化能力.ThankYOU!目录1VGGNet简介01任务VGGNet网络结构02任务VGGNet创新03任务1VGGNet简介1VGGNet简介VGGNet由牛津大学计算机视觉组合和GoogleDeepMind公司研究员一起研发的深度CNN,获得了2014年ILSVCR亚军和定位项目冠军;VGGNet探索了CNN的深度和性能之间的关系,主要采用3*3的小型卷积核和2*2的最大池化层反复堆叠的方式;目前,VGGNet依然被广泛使用,用来提取图像特征。2VGGNet网络结构2VGGNet网络结构3VGGNet创新点3VGGNet创新点VGGNet有以下创新之处:VGGNet全部使用3*3的卷积核和2*2的池化核,减小了参数,同时增加了CNN的非线性变换,增加了CNN对特征的学习能力;先训练层数较浅的网络,使用浅层网络的权重初始化深层网络,加快训练的收敛速度;采用Multi-Scale的训练策略,可以增加训练的数据量,防止模型过拟合,提升预测准确率。ThankYOU!目录1GoogLeNet简介01任务Inceptionmodule结构02任务GoogLeNet创新点03任务1GoogLeNet简介1GoogLeNet简介GoogLeNet也称为Inceptionv1,是2014年ImageNet挑战赛冠军模型;GoogLeNet尝试了新颖的网络结构设计,网络层数为22层,参数量比AlexNet和VGG小很多;GoogLeNet是用Inceptionmodule堆叠起来的,该网络的设计同时考虑了模型的精度和计算成本。2Inceptionmodule结构2Inceptionmodule结构4组平行的特征抽取方式,分别为1×1、3×3、5×5的卷积层和3×3的最大池化层;进行3×3、5×5的卷积之前、3×3的最大池化层之后,进行一次1×1的卷积来减少特征映射的深度。3GoogLeNet创新点3GoogLeNet创新点拆分卷积核的思想,可以降低参数量,减轻过拟合,增加网络非线性的表达能力;InceptionModule模块,用多个分支提取不同抽象程度的高阶特征的思路很有效,可以丰富网络的表达能力。这些InceptionModule的结构只在网络的后面出现,前面还是普通的卷积层;卷积网络从输入到输出,应该让图片尺寸逐渐减小,输出通道数逐渐增加,即让空间结构简化,将空间信息转化为高阶抽象的特征信息;去除了最后的全连接层,用1*1卷积来取代,这样大大减少了参数量,并且减轻了过拟合。ThankYOU!目录1ResNet介绍01任务残差网络结构02任务ResNet创新点04任务BatchNormalization03任务1ResNet介绍1ResNet介绍ResNet网络残差网络是由来自MicrosoftResearch的4位学者提出的卷积神经网络,在2015年的ILSVRC中获得了图像分类和物体识别的冠军。残差网络的特点是容易优化,并且能够通过增加相当的深度来提高准确率。其内部的残差块使用了跳跃连接,缓解了在深度神经网络中增加深度带来的梯度消失问题。2残差网络结构2残差网络结构ResNet提出的动机:加深网络的深度能够提高分类和识别的精度,自然地,我们会认为网络设计的越深越好,但是事实上却不是这样,常规的网络的堆叠(plainnetwork)在网络很深的时候,效果却越来越差了。这里其中的原因之一即是网络越深,梯度消失的现象就越来越明显,网络的训练效果也不会很好。但是现在浅层的网络又无法明显提升网络的识别效果了,所以现在要解决的问题就是怎样在加深网络的情况下又解决梯度消失的问题。2残差网络结构ResNet引入了残差网络结构(residualnetwork),残差网

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论