CN112598063A - 神经网络生成方法及装置、电子设备和存储介质 - Google Patents

神经网络生成方法及装置、电子设备和存储介质 Download PDF

Info

Publication number
CN112598063A
CN112598063A CN202011558527.8A CN202011558527A CN112598063A CN 112598063 A CN112598063 A CN 112598063A CN 202011558527 A CN202011558527 A CN 202011558527A CN 112598063 A CN112598063 A CN 112598063A
Authority
CN
China
Prior art keywords
neural network
target neural
training
data set
preset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011558527.8A
Other languages
English (en)
Inventor
袁坤
李全全
崔磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Sensetime Technology Co Ltd
Original Assignee
Shenzhen Sensetime Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Sensetime Technology Co Ltd filed Critical Shenzhen Sensetime Technology Co Ltd
Priority to CN202011558527.8A priority Critical patent/CN112598063A/zh
Publication of CN112598063A publication Critical patent/CN112598063A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Abstract

本公开涉及一种神经网络生成方法及装置、电子设备和存储介质,所述方法包括:响应于针对目标神经网络的网络设置操作,根据被选中的神经网络进行网络设置,得到目标神经网络;响应于针对目标神经网络的训练操作,基于预设的训练数据集以及被选中的训练方式训练目标神经网络,得到训练后的目标神经网络;响应于针对训练后的目标神经网络的测评操作,根据预设的测试数据集,确定训练后的目标神经网络的图像分类效果;在图像分类效果达到目标分类标准的情况下,将训练后的目标神经网络作为最终的目标神经网络。本公开实施例可提高目标神经网络与应用场景的适应性。

Description

神经网络生成方法及装置、电子设备和存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及一种神经网络生成方法及装置、电子设备和存储介质。
背景技术
图像分类在生产和生活中的不同领域有着广泛的应用,例如零售商品识别、工业缺陷识别、监控场景下车辆类型识别、市政监控等。然而,随着应用场景的不同,采用的图像分类方法往往可能会随之发生变化。如何快速便捷地确定与应用场景相适应的图像分类方法,成为目前一个亟待解决的问题。
发明内容
本公开提出了一种神经网络生成的技术方案。
根据本公开的一方面,提供了一种神经网络生成方法,包括:
响应于针对目标神经网络的网络设置操作,根据被选中的神经网络进行网络设置,得到所述目标神经网络;响应于针对所述目标神经网络的训练操作,基于预设的训练数据集以及被选中的训练方式训练所述目标神经网络,得到训练后的目标神经网络;响应于针对所述训练后的目标神经网络的测评操作,根据预设的测试数据集,确定所述训练后的目标神经网络的图像分类效果;在所述图像分类效果达到目标分类标准的情况下,将训练后的目标神经网络作为最终的目标神经网络。
在一种可能的实现方式中,所述训练方式包括损失函数、优化器以及学习率调整方式中的一种或多种;所述基于预设的训练数据集以及被选中的训练方式训练所述目标神经网络,包括:基于被选中的损失函数,确定所述目标神经网络的输出结果与所述预设的训练数据集中标注信息的差异,并基于所述差异确定所述目标神经网络在前向计算过程中产生的损失值;基于被选中的优化器,确定所述目标神经网络在反向传播过程中的梯度更新方式,并结合所述损失值,得到所述目标神经网络中对应的参数的梯度;基于被选中的学习率调整方式,对所述梯度的幅值进行调整,并根据所述梯度的幅值的调整值,对所述目标神经网络中对应的参数进行更新。
在一种可能的实现方式中,所述基于预设的训练数据集以及被选中的训练方式训练所述目标神经网络,包括:将所述目标神经网络中至少部分网络层作为目标网络层,将所述目标网络层的参数存储为第一预设精度;将所述目标神经网络中,除所述目标网络层以外的至少部分网络层的参数存储为第二预设精度;根据预设的训练数据集,通过被选中的训练方式,训练包括所述第一预设精度的参数和所述第二预设精度的参数的目标神经网络。
在一种可能的实现方式中,所述基于预设的训练数据集以及被选中的训练方式训练所述目标神经网络,包括:通过对所述目标神经网络中的至少一个参数进行滑动平均处理,得到至少一个伴随参数;根据预设的训练数据集,通过被选中的训练方式训练所述目标神经网络,对所述至少一个参数以及所述至少一个伴随参数进行更新;将更新后的至少一个参数或更新后的至少一个伴随参数,作为所述训练后的目标神经网络的参数。
在一种可能的实现方式中,所述基于预设的训练数据集以及被选中的训练方式训练所述目标神经网络,包括:将所述训练数据集拆分为多个子训练数据集;基于所述多个子训练数据集,对多个具有相同初始参数的目标神经网络进行并行训练,得到多个误差损失;对所述多个误差损失进行平均处理得到平均误差损失,基于所述平均误差损失对具有相同初始参数的每一目标神经网络的参数进行更新,得到多个具有相同参数的训练后的目标神经网络。
在一种可能的实现方式中,所述根据预设的测试数据集,确定所述训练后的目标神经网络的图像分类效果,包括:将所述预设的测试数据集拆分为多个子测试数据集;将所述多个子测试数据集并行地通过多个具有相同参数的训练后的目标神经网络,得到多个图像分类结果;通过至少一种评价指标,对所述多个图像分类结果进行判断,确定所述训练后的目标神经网络的图像分类效果,其中,所述评价指标至少包括:精度评价指标、准确率评价指标以及召回率评价指标中的一种或多种。
在一种可能的实现方式中,在响应于针对所述训练后的目标神经网络的测评操作,根据预设的测试数据集,确定所述训练后的目标神经网络的图像分类效果之后,所述方法还包括:对所述训练后的目标神经网络的图像分类效果进行可视化展示。
在一种可能的实现方式中,在所述基于预设的训练数据集以及被选中的训练方式训练所述目标神经网络之前,所述方法还包括:响应于针对目标网络的数据设置操作,对被选中的数据集通过至少一种数据处理方式进行处理,得到处理后的数据集,其中,所述数据处理方式包括用于扩充所述被选中的数据集的数据增强处理;响应于对所述处理后的数据集的划分操作,生成所述预设的训练数据集和/或所述预设的测试数据集。
在一种可能的实现方式中,所述方法还包括:对所述最终的目标神经网络进行封装,得到所述最终的目标神经网络的封装文件。
根据本公开的一方面,提供了一种神经网络生成装置,包括:
网络设置模块,用于响应于针对目标神经网络的网络设置操作,根据被选中的神经网络进行网络设置,得到所述目标神经网络;训练模块,用于响应于针对所述目标神经网络的训练操作,基于预设的训练数据集以及被选中的训练方式训练所述目标神经网络,得到训练后的目标神经网络;测评模块,用于响应于针对所述训练后的目标神经网络的测评操作,根据预设的测试数据集,确定所述训练后的目标神经网络的图像分类效果;确定模块,用于在所述图像分类效果达到目标分类标准的情况下,将训练后的目标神经网络作为最终的目标神经网络。
在一种可能的实现方式中,所述训练方式包括损失函数、优化器以及学习率调整方式中的一种或多种;所述训练模块用于:基于被选中的损失函数,确定所述目标神经网络的输出结果与所述预设的训练数据集中标注信息的差异,并基于所述差异确定所述目标神经网络在前向计算过程中产生的损失值;基于被选中的优化器,确定所述目标神经网络在反向传播过程中的梯度更新方式,并结合所述损失值,得到所述目标神经网络中对应的参数的梯度;基于被选中的学习率调整方式,对所述梯度的幅值进行调整,并根据所述梯度的幅值的调整值,对所述目标神经网络中对应的参数进行更新。
在一种可能的实现方式中,所述训练模块用于:将所述目标神经网络中至少部分网络层作为目标网络层,将所述目标网络层的参数存储为第一预设精度;将所述目标神经网络中,除所述目标网络层以外的至少部分网络层的参数存储为第二预设精度;根据预设的训练数据集,通过被选中的训练方式,训练包括所述第一预设精度的参数和所述第二预设精度的参数的目标神经网络。
在一种可能的实现方式中,所述训练模块用于:通过对所述目标神经网络中的至少一个参数进行滑动平均处理,得到至少一个伴随参数;根据预设的训练数据集,通过被选中的训练方式训练所述目标神经网络,对所述至少一个参数以及所述至少一个伴随参数进行更新;将更新后的至少一个参数或更新后的至少一个伴随参数,作为所述训练后的目标神经网络的参数。
在一种可能的实现方式中,所述训练模块用于:将所述训练数据集拆分为多个子训练数据集;基于所述多个子训练数据集,对多个具有相同初始参数的目标神经网络进行并行训练,得到多个误差损失;对所述多个误差损失进行平均处理得到平均误差损失,基于所述平均误差损失对具有相同初始参数的每一目标神经网络的参数进行更新,得到多个具有相同参数的训练后的目标神经网络。
在一种可能的实现方式中,所述测评模块用于:将所述预设的测试数据集拆分为多个子测试数据集;将所述多个子测试数据集并行地通过多个具有相同参数的训练后的目标神经网络,得到多个图像分类结果;通过至少一种评价指标,对所述多个图像分类结果进行判断,确定所述训练后的目标神经网络的图像分类效果,其中,所述评价指标至少包括:精度评价指标、准确率评价指标以及召回率评价指标中的一种或多种。
在一种可能的实现方式中,在所述测评模块之前,所述装置还用于:对所述训练后的目标神经网络的图像分类效果进行可视化展示。
在一种可能的实现方式中,在所述训练模块之前,所述装置还用于:响应于针对目标网络的数据设置操作,对被选中的数据集通过至少一种数据处理方式进行处理,得到处理后的数据集,其中,所述数据处理方式包括用于扩充所述被选中的数据集的数据增强处理;响应于对所述处理后的数据集的划分操作,生成所述预设的训练数据集和/或所述预设的测试数据集。
在一种可能的实现方式中,所述装置还用于:对所述最终的目标神经网络进行封装,得到所述最终的目标神经网络的封装文件。
根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
在本公开实施例中,可以响应于针对目标神经网络的网络设置操作,根据被选中的神经网络进行网络设置,得到目标神经网络,并响应于针对目标神经网络的训练操作,基于预设的训练数据集以及被选中的训练方式训练目标神经网络,得到训练后的目标神经网络,并响应于针对训练后的目标神经网络的测评操作,根据预设的测试数据集,确定训练后的目标神经网络的图像分类效果,从而在图像分类效果达到目标分类标准的情况下,将训练后的目标神经网络作为最终的目标神经网络。通过上述过程,根据本公开实施例提供的神经网络生成方法及装置、电子设备和存储介质,可以基于被选中的图像神经网络得到与应用场景相适应的目标神经网络,并根据被选中的训练方式对目标神经网络进行训练,从而使得训练后的目标神经网络可以更加与应用场景相匹配,提升本公开实施例中提出的神经网络生成方法的通用性;且在图像分类效果达到目标分类标准的情况下确定最终的目标神经网络,可以进一步提升最终的目标神经网络在相应的场景下的分类效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1示出根据本公开实施例的神经网络生成方法的流程图。
图2示出根据本公开实施例的神经网络生成装置的框图。
图3示出根据本公开一应用示例的神经网络生成方法的示意图。
图4示出根据本公开实施例的一种电子设备800的框图。
图5示出根据本公开实施例的一种电子设备1900的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1示出根据本公开一实施例的神经网络生成方法的流程图,该方法可以应用于神经网络生成装置,神经网络生成装置可以为终端设备、服务器或者其他处理设备等。其中,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一个示例中,该神经网络生成方法可以应用于云端服务器或本地服务器,云端服务器可以为公有云服务器,也可以为私有云服务器,根据实际情况灵活选择即可。
在一些可能的实现方式中,该神经网络生成方法也可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
如图1所示,在一种可能的实现方式中,所述神经网络生成方法可以包括:
步骤S11,响应于针对目标神经网络的网络设置操作,根据被选中的神经网络进行网络设置,得到目标神经网络。
其中,针对目标神经网络的设置操作,可以包括针对目标神经网络中所调用的神经网络的选中操作。在一种可能的实现方式中,该选中操作可以直接选择神经网络生成装置中具有完整结构的神经网络模型,如残差网络模型(ResNet)、高效网络模型(EfficientNet)或是移动网络模型(MobileNet)等;在一种可能的实现方式中,该选中操作也可以包括从神经网络生成装置中选择一个或多个网络层来组成神经网络,其中,选择的网络层可以根据实际情况灵活决定,比如包括卷积层、池化层、归一化层或是全连接层中的一个或多个等,这些网络层的组合以及连接方式也可以根据实际情况灵活设定,在本公开实施例中不做限制;在一种可能的实现方式中,该选中操作可以基于神经网络生成装置的硬件设备和计算约束,从神经网络生成装置中提供的包含不同参数量和计算量的各类神经网络模型中,选择出合适的神经网络作为目标神经网络。在一个示例中,被选中的神经网络,也可以包括经过预训练的神经网络,比如基于ImageNet数据集进行预训练的神经网络,基于该经过预训练的神经网络,可以减小后续训练的数据量和耗时,提升神经网络的生成速度和精度。
可供选择的神经网络的类型可以根据实际情况灵活决定,不局限于下述各公开实施例。在一种可能的实现方式中,可供选择的神经网络可以包括分类神经网络,在一个示例中,该分类神经网络可以是图像分类神经网络等;在一种可能的实现方式中,可供选择的神经网络可以包括分割神经网络;在一种可能的实现方式中,可供选择的神经网络可以包括多种类型的网络,比如图像分类神经网络、分割神经网络或是跟踪神经网络等;后续各公开实施例均以可供选择的神经网络为图像分类神经网络为例进行说明,其余类型的神经网络的实现形式可以参考后续各公开实施例进行灵活扩展,不再一一赘述。
图像分类神经网络可以确定图像中包含的对象的类别,随着应用场景的不同,图像分类神经网络输出的对象类别也随之发生变化。在一种可能的实现方式中,在应用于零售商品识别的场景的情况下,图像分类神经网络输出的对象类别可以为零售商品的种类,如日常用品、家用电器或生鲜食品等;在一种可能的实现方式中,在应用于车辆识别场景的情况下,输出的对象类别可以为车辆的颜色或型号等;在一种可能的实现方式中,在应用于人脸识别场景的情况下,输出的对象类别可以为人脸的属性信息,比如性别或年龄段等。在一种可能的实现方式中,可以基于应用场景来选择相应的图像分类神经网络。
图像分类神经网络输出的对象类别的形式也可以根据实际情况灵活设定,不局限于下述各公开实施例。在一种可能的实现方式中,可以通过类别向量的形式输出图像中对象的类别,该类别向量中的各维度分别表示对象属于各类别的概率,其中,概率值最大的维度所对应的类别可以作为图像分类的预测结果。
在一种可能的实现方式中,被选中的图像分类神经网络可以提取图像的多尺度信息,在一种可能的实现方式中,图像分类神经网络可以提取图像中需要被分类的对象的浅层特征信息,如亮度或是边缘等局部特征等;在一种可能的实现方式中,图像分类神经网络也可以提取图像中需要被分类的对象的深层特征信息,如图像的语义等全局信息等;在一种可能的实现方式中,图像分类神经网络可以既提取浅层特征信息,也提取深层特征信息,在一个示例中,包含深层特征信息的特征图相较于包含浅层特征信息的特征图具有更大的感受野,包含深层特征信息的特征图的尺度小于包含浅层特征信息的特征图的尺度。
通过针对目标神经网络的网络设置操作,根据被选中的神经网络进行网络设置,得到目标神经网络,可以基于被选中的神经网络得到与应用场景相适应的目标神经网络,从而提升本公开实施例中提出的神经网络生成方法的通用性。
步骤S12,响应于针对目标神经网络的训练操作,基于预设的训练数据集以及被选中的训练方式训练目标神经网络,得到训练后的目标神经网络。
其中,训练数据集中包括多个训练图像,各训练图像可以包含标注信息,该标注信息可以表示各训练图像包含的对象的所属类别,基于各训练图像的标注信息,可以确定目标神经网络在训练过程中的误差损失。
上述针对目标网络的训练操作,可以包括指示目标神经网络进行训练的操作,也可以包括对目标神经网络的训练方式的选中操作。具体选中哪个或哪些训练方式,其实现形式可以详见下述各公开实施例,在此先不做展开。
通过响应于针对目标神经网络的训练操作,基于预设的训练数据集以及被选中的训练方式训练目标神经网络,得到训练后的目标神经网络,可以使得训练后的目标神经网络与应用场景更加匹配,进一步提升本公开实施例中提出的神经网络生成方法的通用性,同时,选择合适的训练方式,也可以提升训练后的目标神经网络的精度。
步骤S13,响应于针对训练后的目标神经网络的测评操作,根据预设的测试数据集,确定训练后的目标神经网络的图像分类效果。
其中,测试数据集中包括多个测试图像,各测试图像同样可以包含标注信息,该标注信息可以表示各测试图像包含的对象的所属类别,基于各测试图像的标注信息,可以判断训练后的目标神经网络的图像分类结果的准确性。
上述针对目标网络的测评操作,可以包括指示对训练后的目标神经网络进行测评的操作,也可以包括对目标神经网络的测评方式的选中操作。具体选中哪个或哪些测评方式,其实现形式可以详见下述各公开实施例,在此先不做展开。所确定的训练后的目标神经网络的图像分类效果,可以是训练后的目标神经网络进行图像分类的准确性或效率等。
通过响应于针对训练后的目标神经网络的测评操作,根据预设的测试数据集,确定训练后的目标神经网络的图像分类效果,可以对训练后的目标神经网络的分类效果进行有效地判断,从而提高得到的训练后的目标神经网络的精度。
步骤S14,在图像分类效果达到目标分类标准的情况下,将训练后的目标神经网络作为最终的目标神经网络。
其中,目标分类标准可以是预设的分类标准,如预设训练后的目标神经网络应该达到何种分类精度或准确率等,在一种可能的实现方式中,目标分类标准也可以根据用户的选择所确定,比如用户在认定步骤S13中确定的图像分类效果达到精度要求的情况下,可以发出指示以表明图像分类效果达到目标分类标准等。
在图像分类效果达到目标分类标准的情况下,可以将训练后的目标神经网络作为最终的目标神经网络。其中,最终的目标神经网络可以用于进行后续的操作,比如用于实现图像分类或是进行发布等,具体如何对最终的目标神经网络进行处理,详见下述各公开实施例,在此先不做展开。
通过在图像分类效果达到目标分类标准的情况下,将训练后的目标神经网络作为最终的目标神经网络,通过上述过程,可以进一步提升训练后的目标神经网络在相应的场景下的分类效果和精度
在本公开实施例中,可以响应于针对目标神经网络的网络设置操作,根据被选中的神经网络进行网络设置,得到目标神经网络,并响应于针对目标神经网络的训练操作,基于预设的训练数据集以及被选中的训练方式训练目标神经网络,得到训练后的目标神经网络,并响应于针对训练后的目标神经网络的测评操作,根据预设的测试数据集,确定训练后的目标神经网络的图像分类效果,从而在图像分类效果达到目标分类标准的情况下,将训练后的目标神经网络作为最终的目标神经网络。通过上述过程,根据本公开实施例提供的神经网络生成方法及装置、电子设备和存储介质,可以基于被选中的图像神经网络得到与应用场景相适应的目标神经网络,并根据被选中的训练方式对目标神经网络进行训练,从而使得训练后的目标神经网络可以更加与应用场景相匹配,提升本公开实施例中提出的神经网络生成方法的通用性;且在图像分类效果达到目标分类标准的情况下确定最终的目标神经网络,可以进一步提升最终的目标神经网络在相应的场景下的分类效果。
在一种可能的实现方式中,上述公开实施例中的训练方式可以包括损失函数、优化器以及学习率调整方式中的一种或多种,在这种情况下,步骤S12中的基于预设的训练数据集以及被选中的训练方式训练目标神经网络,可以包括:
S121,基于被选中的损失函数,计算目标神经网络的输出结果与预设的训练数据集中标注信息的差异,确定目标神经网络在前向计算过程中产生的损失值;
S122,基于被选中的优化器,确定目标神经网络在反向传播过程中的梯度更新方式,并结合损失值,得到目标神经网络中对应的参数的梯度;
S123,基于被选中的学习率调整方式,对梯度的幅值进行调整,并根据梯度的幅值的调整值,对目标神经网络中对应的参数进行更新。
其中,损失函数(loss)可以确定目标神经网络的预测值和真实值之间的误差损失,基于损失函数,可以对目标神经网络中的参数进行调整,目标神经网络中的参数可以是目标神经网络中各网络层的权重、偏置或梯度等,在损失函数收敛的情况下,可以认为完成对目标神经网络的训练。
优化器(optimizer)可以是对目标神经网络中的参数进行优化更新的方法,在神经网络中,每执行一次训练,表示优化器代表的优化方法进行了一次迭代,选择合适的优化器可以减少神经网络的训练步骤,提升神经网络的训练效果。
学习率(Learning rate)是神经网络中的一种超参数,学习率可以决定神经网络的损失函数能否收敛到局部最小值以及何时收敛到最小值,选择合适的学习率能够使损失函数在合适的时间内收敛到局部最小值,从而提升神经网络的训练精度和效率。
在一种可能的实现方式中,本公开实施例中提出的神经网络生成方法中,可以提供一种或多种损失函数作为训练方式,基于被选中的损失函数,通过步骤S121,可以确定目标神经网络在训练过程的前向计算中所产生的损失值。其中,提供的损失函数可以根据实际情况灵活决定,在一种可能的实现方式中,可以提供交叉熵损失函数或最大似然损失函数等,作为损失函数,其中,交叉熵损失函数可以度量图像分类预测结果与真实标注信息之间的差异。
其中,前向计算过程,可以是目标神经网络对输入的训练图像进行图像分类处理,得到输出结果的过程,如上述各公开实施例所述,训练图像可以包含表明图像的实际分类结果的标注信息,在一种可能的实现方式中,通过被选中的损失函数,可以对输出结果与标注信息之间的差异进行计算,从而得到目标神经网络在前向计算过程中产生的损失值。
在一种可能的实现方式中,本公开实施例中提出的神经网络生成方法中,可以提供一种或多种优化器作为训练方式,基于被选中的优化器,通过步骤S122可以调整目标神经网络中更新参数的过程,从而得到更加精确的参数。其中,提供的优化器可以根据实际情况灵活决定,在一种可能的实现方式中,可以提供随机梯度下降(SGD,StochasticGradient Descent)、自适应学习率下降(RMSprop,Root Mean Square Prop)以及自适应动量估计(Adam,Adaptive Moment Estimation)等方式,来作为优化器。
步骤S122中的反向传播过程,可以是基于步骤S121中产生的损失值,在目标神经网络中以与前向计算相反的方向,对目标神经网络中的各网络层内的参数进行更新的过程。在一种可能的实现方式中,根据被选中的优化器,可以确定目标神经网络在反向传播过程中的梯度更新方式,结合上述公开实施例中提到的损失值,可以确定目标神经网络中对应的参数的梯度,其中,对应的参数可以是目标神经网络中的某个参数或某些参数,根据神经网络参数更新的实际情况灵活决定,在本公开实施例中不做限制。参数的梯度可以用于确定损失函数的极小值,在损失函数达到极小值的情况下,此时的参数值可以作为参数更新的结果。
在一种可能的实现方式中,本公开实施例中提出的神经网络生成方法中,可以提供一种或多种学习率调整方式作为训练方式,基于被选中的学习率调整方式,通过步骤S123可以调整目标神经网络的学习率,从而确定目标神经网络在训练过程中损失函数的收敛条件。其中,提供的学习率调整方式可以根据实际情况灵活决定,在一种可能的实现方式中,可以提供阶段型、余弦型或多项式型等减小学习率的方式,来作为学习率调整方式。
如步骤S123所述,在一种可能的实现方式中,基于被选中的学习率调整方式,可以对上述公开实施例中得到的参数的梯度的幅值进行调整,从而减少由于梯度的幅值改变过大导致跳过损失函数的极小值点的情况。根据梯度的幅值的调整值,可以对目标神经网络中对应的参数进行更新,更新的方式可以根据实际情况灵活决定,在一个示例中,可以对幅值的调整值取负值,并累加到对应的参数上,来实现参数的迭代更新。
通过步骤S121至步骤S123,可以根据被选中的训练方式,灵活地对目标神经网络进行训练,一方面提高了训练的效率和精度,另一方面也可以使得训练后的目标神经网络可以更加与应用场景相匹配,提升本公开实施例中提出的神经网络生成方法的通用性。
在一种可能的实现方式中,步骤S12中的基于预设的训练数据集以及被选中的训练方式训练目标神经网络,也可以包括:
将目标神经网络中至少部分网络层作为目标网络层,将目标网络层的参数存储为第一预设精度;
将目标神经网络中,除目标网络层以外的至少部分网络层的参数存储为第二预设精度;
根据预设的训练数据集,通过被选中的训练方式,训练包括第一预设精度的参数和第二预设精度的参数的目标神经网络。
其中,目标网络层可以是目标神经网络中包含的一个或多个网络层,选定哪些网络层作为目标网络层可以根据实际情况灵活决定,不局限于下述各公开实施例。在一种可能的实现方式中,可以将目标神经网络中的归一化层和全连接层作为目标网络层。
目标网络层的参数可以存储为第一预设精度,参数的实现形式可以参考上述各公开实施例,在此不再赘述。第一预设精度的精度形式可以根据实际情况灵活设定,在一个示例中,第一预设精度可以为FP32精度。
除目标网络层以外的至少部分网络层,可以是目标神经网络中不属于目标网络层的其他网络层,在一种可能的实现方式中,可以是除目标网络层以外的其他全部网络层;在一种可能的实现方式中,也可以是除目标网络层以外的其他部分网络层;在一个示例中,可以是除目标网络层以外的一个或多个卷积层。
除目标网络层以外的至少部分网络层的参数可以存储为第二预设精度,第二预设精度的精度形式同样可以根据实际情况灵活设定,第一预设精度与第二预设精度的精度不同。在一个示例中,第一预设精度可以为FP16精度。
通过根据预设的训练数据集,通过被选中的训练方式,训练包括第一预设精度的参数和第二预设精度的参数的目标神经网络,可以对目标神经网络进行混合精度地训练,从而节省硬件中的显存占用,降低对硬件资源的要求,提高神经网络生成过程的效率。
在一种可能的实现方式中,步骤S12中的基于预设的训练数据集以及被选中的训练方式训练目标神经网络,也可以包括:
通过对目标神经网络中的至少一个参数进行滑动平均处理,得到至少一个伴随参数;
根据预设的训练数据集,通过被选中的训练方式训练所述目标神经网络,对至少一个参数以及至少一个伴随参数进行更新;
将更新后的至少一个参数或更新后的至少一个伴随参数,作为训练后的目标神经网络的参数。
其中,滑动平均处理可以是对该参数在训练过程中的一段时间内的历史数值进行滑动平均,并将滑动平均后的结果作为该参数的伴随参数。具体选择哪段时间的历史数值进行滑动平均,可以根据实际情况灵活决定,在本公开实施例中不做限制。
在一些可能的实现方式中,可以是分别对目标神经网络中的每一个参数进行滑动平均处理,来得到每一个参数的伴随参数;在一些可能的实现方式中,可以是选取目标神经网络中的部分参数进行滑动平均处理,来得到这部分参数的伴随参数。
在得到伴随参数以后,在目标神经网络的训练过程中,可以在更新目标神经网络中的参数的同时,对伴随参数进行更新,更新伴随参数的方式可以参考更新参数的各公开实施例,在此不再赘述。
在得到更新后的至少一个参数以及更新后的至少一个伴随参数以后,可以根据实际情况,灵活选择参数或伴随参数来作为训练后的目标神经网络的参数。通过上述过程,可以利用参数的指数滑动平均(EMA,Exponential Moving Average),使得对目标神经网络的训练过程更加稳定,减少由于训练数据较少或是训练波动较大等情况对训练过程所造成的影响,提高训练后的目标神经网络的精度,并降低因训练数据量较少或训练数据存在较大分布差异所导致的训练难度。
在一种可能的实现方式中,步骤S12中的基于预设的训练数据集以及被选中的训练方式训练目标神经网络,包括:
将训练数据集拆分为多个子训练数据集;
基于多个子训练数据集,对多个具有相同初始参数的目标神经网络进行并行训练,得到多个误差损失;
对多个误差损失进行平均处理得到平均误差损失,基于平均误差损失对具有相同初始参数的每一目标神经网络的参数进行更新,得到多个具有相同参数的训练后的目标神经网络。
其中,将训练数据集拆分成多个子训练数据集的方式可以根据实际情况灵活决定,可以为平均拆分也可以为不平均拆分,在一种可能的实现方式中,可以根据预设的批处理的采样方式,对预设的训练数据集进行采样,从而得到多个子训练数据集。
多个子训练数据集可以分别输入多个具有相同初始参数的目标神经网络并行地进行训练,从而分别得到多个具有相同初始参数的目标神经网络的多个误差损失。其中,多个具有相同初始参数的目标神经网络可以是分别布置在多个计算节点上,具有相同结构以及初始参数的神经网络,这多个神经网络可以通过复制得到。计算节点可以是对神经网络进行训练运算的硬件设备,其实现形式可以根据实际情况灵活决定,在一个示例中,计算节点可以是图形处理器(GPU,Graphics Processing Unit)。
在一种可能的实现方式中,各目标神经网络中误差损失的计算过程可以为:将子训练数据集中包含的训练图像输入至目标神经网络中,在目标神经网络中进行前向计算,根据目标神经网络中的参数计算每个网络层的卷积的响应输出,并最终输出目标神经网络预测的类别向量,将类别向量中预测的概率最大的类别作为目标神经网络的预测分类结果,将该预测分类结果与训练图像中的标注信息进行比较,并基于确定的损失函数来计算得到误差损失。
得到的多个误差损失可以通过平均处理,得到平均误差损失,平均处理的方式在本公开实施例中不做限定,可以为普通平均也可以为加权平均,加权平均的情况下,权重可以根据实际情况灵活设定。得到的平均误差损失可以分别输入到多个具有相同初始参数的目标神经网络,来使得这多个目标神经网络的参数可以进行共同更新,得到多个具有相同参数的训练后的目标神经网络。
在一种可能的实现方式中,对各目标神经网络的参数进行更新的过程可以为:基于计算得到的误差损失,对目标神经网络进行反向传播,通过链式法则进行求导,得到目标神经网络中各网络层的参数所对应的梯度,并根据上述公开实施例中提到的参数更新方式和/或学习率调整方式,对各网络层的参数进行更新。
通过上述各公开实施例中的前向计算和反向传播交替进行,来不断对目标神经网络中的至少一个参数进行更新,直至目标神经网络收敛达到所期望的结果和误差范围,来得到训练后的目标神经网络。
通过将训练数据集拆分为多个子训练数据集,基于多个子训练数据集,对多个具有相同初始参数的目标神经网络进行并行训练,得到多个误差损失,并对多个误差损失进行平均处理得到平均误差损失,基于平均误差损失对具有相同初始参数的每一目标神经网络的参数进行更新,得到多个具有相同参数的训练后的目标神经网络,通过上述过程,可以对目标神经网络进行分布式地数据处理和网络训练,加速训练效率,减少训练时间。
需要注意的是,在一些可能的实现方式中,上述根据预设的训练数据集,通过被选择的训练方式训练目标神经网络的各公开实施例可以根据实际情况灵活进行结合,比如可以在第一预设精度和第二预设精度下,对各目标神经网络进行并行训练,且同时更新目标神经网络的参数以及伴随参数等。具体选择哪些实现方式进行结合可以根据实际情况灵活决定,不局限于上述各公开实施例。
在一种可能的实现方式中,步骤S13中的根据预设的测试数据集,确定训练后的目标神经网络的图像分类效果,可以包括:
将预设的测试数据集拆分为多个子测试数据集;
将多个子测试数据集并行地通过多个具有相同参数的训练后的目标神经网络,得到多个图像分类结果;
通过至少一种评价指标,对多个图像分类结果进行判断,确定训练后的目标神经网络的图像分类效果,其中,评价指标至少包括:精度评价指标、准确率评价指标以及召回率评价指标中的一种或多种。
其中,将预设的测试数据集拆分为多个子测试数据集的实现方式可以参考上述对预设的训练数据集进行拆分的方式,在此不再赘述。
在一种可能的实现方式中,可以将多个子测试数据集分别输入到多个具有相同参数的训练后的目标神经网络中,在多个计算节点上分别并行地进行前向计算,来得到多个训练后的目标神经网络所输出的多个图像分类结果。其中,多个具有相同参数的训练后的目标神经网络的实现方式详见上述各公开实施例,并行地进行前向计算的过程可以参考上述训练过程中前向计算的过程中,在此同样不再赘述。
得到的多个图像分类结果可以是各训练后的目标神经网络针对输入的子测试数据集中的测试图像进行分类所得到的预测结果,其实现形式可以参考上述各公开实施例,比如可以为类别向量等,在此不再赘述。在一种可能的实现方式中,可以将类别向量作为图像分类结果,在一种可能的实现方式中,也可以将类别向量中具有最大概率的类别作为图像分类结果。
在得到图像分类结果以后,可以将图像分类结果与该测试图像的标注信息进行比较,来判断训练后的目标神经网络输出的图像分类结果是否准确。在一些可能的实现方式中,可以通过至少一种评价指标,来分别对各图像分类结果进行判断,从而确定训练后的目标神经网络的图像分类效果。其中,至少一种评价指标可以包括精度评价指标、准确率评价指标以及召回率评价指标中的一种或多种。包括哪些具体的评价指标可以根据实际情况灵活决定,不局限于下述各公开实施例。在一种可能的实现方式中,精度评价指标可以包括Top-1精度指标和/或Top-5精度指标,准确率评价指标可以包括每个类别对应的准确率(precision),召回率评价指标可以包括每个类别对应的召回率(recall);在一种可能的实现方式中,还可以包括兼顾准确率评价和召回率评价的F1分数(F1-score)。
通过至少一种评价指标,对多个图像分类结果进行判断,确定训练后的目标神经网络的图像分类效果,可以更便捷地分析数据和目标神经网络的训练效果,针对性地做出改进,从而提升神经网络生成方法的精度,并使得得到的训练后的神经网络与应用场景更加适应。
在一种可能的实现方式中,在步骤S14之前,本公开实施例中提出的方法还可以包括:
对训练后的目标神经网络的图像分类效果进行可视化展示。
其中,可视化展示可以是对各训练后的目标神经网络的图像分类结果或是效果进行全面展示,也可以是针对性地进行展示,在一些可能的实现方式中,可以将训练后的目标神经网络对测试数据集中进行错误分类的分类结果作为难例,进行针对性地可视化展示。
通过对训练后的目标神经网络的图像分类效果进行可视化展示,可以更直观、全面的分析训练后的目标神经网络进行图像分类的效果,从而便于用户判断训练后的目标神经网络是否达到目标分类标准,便于后续对目标神经网络进行封装和发布。
在一些可能的实现方式中,在步骤S12之前,本公开实施例提出的方法还可以包括:
响应于针对目标网络的数据设置操作,对被选中的数据集通过至少一种数据处理方式进行处理,得到处理后的数据集,其中,所述数据处理方式包括用于扩充所述被选中的数据集的数据增强处理;
响应于对处理后的数据集的划分操作,生成预设的训练数据集和/或预设的测试数据集。
其中,针对目标网络的数据设置操作,可以包括对数据集的选中操作,也可以包括数据处理方式的选择操作。数据集可以是存储在任意路径中的图像数据集合,对数据集的读取方式在本公开实施例中不做限定。
数据处理方式可以包括一种或多种处理方式,在一种可能的实现方式中,数据处理方式可以包括多样的数据增强处理和/或预处理方式。
其中,数据增强处理可以对被选中的数据集中的数据进行扩充,通过数据增强处理可以有效增加处理后的数据集中数据的全面性,基于处理后的数据集来对目标神经网络进行训练和评测,可以提高得到的最终的目标神经网络的稳健性。在一种可能的实现方式中,数据增强处理可以包括下述多种处理方式中的一种或多种,比如:对图像进行水平和垂直翻转等的翻转处理(Flip)、对图像按照一定的角度进行旋转的旋转处理(Rotation)、对图像按照一定的比例向外或者向内缩放的等比例缩放处理(Scale)、从图像中随机抽样一部分裁剪并将大小调整为原图的裁剪处理(Crop)以及改变图像的亮度、对比度和饱和度亮度的对比度变换处理(ColorJitter)等。
预处理数据可以是对被选中的数据集进行的标准的图像处理操作,比如灰度处理或是格式变换等。
上述多种数据处理方式可以根据实际情况灵活选择使用,从而提升本公开实施例中提出的神经网络生成方法的通用性。
处理后的数据集可以根据预设的划分操作方式,灵活划分为训练数据集和/测试数据集,从而生成预设的训练数据集和/或预设的测试数据集。其中,预设的划分方式可以根据实际情况灵活设定,在一种可能的实现方式中,可以设定为随机划分,在一些可能的实现方式中,也可以设定为按照某种比例进行划分等。
通过响应于针对目标网络的数据设置操作,对被选中的数据集通过至少一种数据处理方式进行处理,得到处理后的数据集,并响应于对处理后的数据集的划分操作,生成预设的训练数据集和/或预设的测试数据集,通过上述过程,可以增加训练数据与测试数据的丰富度,从而提升神经网络生成过程的精度和准确度。
在一种可能的实现方式中,本公开实施例中提出的神经网络生成方法,还可以包括:
对最终的目标神经网络进行封装,得到最终的目标神经网络的封装文件。
其中,封装的方式以及封装文件的形式均可以根据实际情况灵活决定,不局限于下述各公开实施例。在一个示例中,可以将最终的目标神经网络转换至卷积神经网络框架(Caffe,Convolutional Architecture for Fast Feature Embedding)或者开源神经网络(ONNX,Open Neural Network Exchange)框架进行输出,并封装成软件开发工具包(SDK,Software Development Kit)的形式进行发布。
而且通过对最终的目标神经网络进行封装,可以便于扩展最终的目标神经网络的使用范围,而且可以使得最终的目标神经网络在封装前后的的精度一致,减小最终的目标神经网络精度上的损失,同时封装可以将最终的目标神经网络转换成用户所需格式的神经网络,使用户端对目标神经网络的部署更为简易。
图2示出根据本公开实施例的神经网络生成装置的框图,如图2所示,所述装置包括:
网络设置模块21,用于响应于针对目标神经网络的网络设置操作,根据被选中的神经网络进行网络设置,得到目标神经网络。
训练模块22,用于响应于针对目标神经网络的训练操作,基于预设的训练数据集以及被选中的训练方式训练所述目标神经网络,得到训练后的目标神经网络。
测评模块23,用于响应于针对训练后的目标神经网络的测评操作,根据预设的测试数据集,确定训练后的目标神经网络的图像分类效果。
确定模块24,用于在图像分类效果达到目标分类标准的情况下,将训练后的目标神经网络作为最终的目标神经网络。
在一种可能的实现方式中,训练方式包括损失函数、优化器以及学习率调整方式中的一种或多种;训练模块用于:基于被选中的损失函数,确定目标神经网络的输出结果与预设的训练数据集中标注信息的差异,并基于差异确定目标神经网络在前向计算过程中产生的损失值;基于被选中的优化器,确定目标神经网络在反向传播过程中的梯度更新方式,并结合损失值,得到目标神经网络中对应的参数的梯度;基于被选中的学习率调整方式,对梯度的幅值进行调整,并根据梯度的幅值的调整值,对目标神经网络中对应的参数进行更新。
在一种可能的实现方式中,训练模块用于:将目标神经网络中至少部分网络层作为目标网络层,将目标网络层的参数存储为第一预设精度;将目标神经网络中,除目标网络层以外的至少部分网络层的参数存储为第二预设精度;根据预设的训练数据集,通过被选中的训练方式,训练包括第一预设精度的参数和第二预设精度的参数的目标神经网络。
在一种可能的实现方式中,训练模块用于:通过对目标神经网络中的至少一个参数进行滑动平均处理,得到至少一个伴随参数;根据预设的训练数据集,通过被选中的训练方式训练目标神经网络,对至少一个参数以及至少一个伴随参数进行更新;将更新后的至少一个参数或更新后的至少一个伴随参数,作为训练后的目标神经网络的参数。
在一种可能的实现方式中,训练模块用于:将训练数据集拆分为多个子训练数据集;基于多个子训练数据集,对多个具有相同初始参数的目标神经网络进行并行训练,得到多个误差损失;对多个误差损失进行平均处理得到平均误差损失,基于平均误差损失对具有相同初始参数的每一目标神经网络的参数进行更新,得到多个具有相同参数的训练后的目标神经网络。
在一种可能的实现方式中,测评模块用于:将预设的测试数据集拆分为多个子测试数据集;将多个子测试数据集并行地通过多个具有相同参数的训练后的目标神经网络,得到多个图像分类结果;通过至少一种评价指标,对多个图像分类结果进行判断,确定训练后的目标神经网络的图像分类效果,其中,评价指标至少包括:精度评价指标、准确率评价指标以及召回率评价指标中的一种或多种。
在一种可能的实现方式中,在测评模块之前,装置还用于:对训练后的目标神经网络的图像分类效果进行可视化展示。
在一种可能的实现方式中,在训练模块之前,装置还用于:响应于针对目标网络的数据设置操作,对被选中的数据集通过至少一种数据处理方式进行处理,得到处理后的数据集,其中,数据处理方式包括用于扩充被选中的数据集的数据增强处理;响应于对处理后的数据集的划分操作,生成预设的训练数据集和/或预设的测试数据集。
在一种可能的实现方式中,装置还用于:对最终的目标神经网络进行封装,得到最终的目标神经网络的封装文件。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
应用场景示例
本公开应用示例提出了一种神经网络生成方法,可以包括以下过程:数据处理,准备训练数据集和测试数据集,对被选中的数据集中的图像进行预处理、数据增强;将训练数据集中待分类的图像输入被选中的预先定义好的目标神经网络,进行前向计算得到预测类别概率向量;分析输出的类别向量以得到分类结果,并基于分类结果反向传播计算更新梯度从而对目标神经网络的参数进行更新;使用更新后的目标神经网络对测试数据集中的图像进行图像预测,并进行精度测试和分析;将训练后且符合测试要求的目标神经网络进行SDK转换并发布。
图3示出根据本公开一应用示例的神经网络生成方法的示意图,如图所述,在一个示例中,神经网络的生成过程可以包含如下具体步骤:
通过数据处理模块进行数据处理:可以通过不同的数据读取方式从指定的路径读取数据集,并通过预设的划分方式,对读取的数据集进行训练数据集和测试数据集的划分,训练数据集可以用于目标神经网络的训练,测试集可以用于对目标神经网络的图像分类效果进行评测。在一种可能的实现方式中,可以使用多样的数据增强和预处理对图像信息进行转换,扩充训练图像的数量并转换至框架可以处理的向量形式。在一些可能的实现方式中,对数据集中的图像进行处理的方式可以包括随机裁剪并重调大小、随机水平翻转、亮度变换、归一化和向量化等操作。之后定义训练过程中批处理的采样方式,使得不同计算节点可以并行处理不同的数据批次。
通过模型结构模块确定目标神经网络的结构:在一种可能的实现方式中,本公开应用示例中的神经网络生成方法可以提供多种预先定义的深度卷积网络结构用于选择,被选中的网络结构可以作为目标神经网络。在一些可能的实现方式中,提供的网络结构可以包括残差网络、高效网络以及移动端网络等,在一些可能的实现方式中,这些网络结构可以由卷积层、池化层、归一化层、全连接层等组成。提供的网络结构能够提取图像的多尺度信息,比如浅层信息具有较大的特征图,包含需要被分类物体的亮度、边缘等局部特征,深层信息具有较小的特征图,相较于浅层具有较大的感受野,包含更多图像的语义等全局信息等。被选择的网络结构可以对图像中的对象进行分类并输出类别向量,每一维度代表图像属于该类别的概率。在一个示例中,提供的网络结构可以包含参数量和计算量下不同大小的模型,能够根据硬件设备和计算约束进行选择。
通过优化模块确定目标神经网络的训练方式:在一种可能的实现方式中,本公开应用示例中的神经网络生成方法还可以提供预先定义好的神经网络相关的训练方法以供选择,比如学习率调整方式、损失函数确定方式以及参数更新方式等。学习率调整方式可以提供多种减小学习率的方式以供选择,比如阶段型、余弦型、多项式型等。损失函数确定方式可以提供多种损失函数以供选择,比如多分类交叉熵损失函数等,能够度量图像分类预测结果与真实标签的差异。参数更新方式可以提供多种更新目标神经网络中参数的方法以供选择,比如随机梯度下降、自适应学习率下降以及自适应动量估计等。在一些可能的实现方式中,还可以提供一些训练方式以提高神经网络的生成效率,比如混合精度训练方式,能够使用FP16和FP32精度的数据进行目标神经网络中参数的更新,从而节省显存占用,降低对硬件资源的要求;在一些可能的实现方式中,还可以提供其他训练方式,比如标签平滑方式以及指数滑动平均等。
通过分布式模块对目标神经网络进行分布式训练:在一些可能的实现方式中,本公开应用示例提出的神经网络方法还可以利用多节点计算资源如GPU等,将训练数据集中的数据和目标神经网络进行分布式处理。举例来说,在一个示例中,可以将目标神经网络同步到不同GPU,不同GPU中的目标神经网络具有相同的参数,并可以定义对训练数据集的批处理的采样方式,来得到多个子训练数据集,不同GPU可以利用目标神经网络处理不同批次的子训练数据集并行训练,并行加速训练进程,各GPU中的训练过程详见下述训练模块。由不同批次的子训练数据集进行训练所产生的误差损失可以经过平均求和计算得到统一的梯度,统一的梯度可以用于更新不同GPU上的目标神经神经网络中的参数。
通过训练模块对目标神经网络进行训练:训练可以包含前向计算计算误差和反向传播更新梯度两个步骤。在前向计算的过程中,可以输入子训练数据集,根据目标神经网络的参数计算对应每一层卷积的响应输出,并输出预测类别向量,根据概率最大的类别得到预测的分类结果,并将预测结果与训练图像中的标注信息进行比较计算误差。在反向传播的过程中,可以通过链式法则进行求导,得到每一层参数对应的梯度,之后使用优化模块确定的目标神经网络的训练方式进行参数更新。前向计算和反向传播交替进行,直至目标神经网络收敛达到所期望的结果和误差范围,得到训练后的目标神经网络。
通过评测和发布模块对目标神经网络进行评测和封装:在一些可能的实现方式中,本公开应用示例提出的神经网络生成方法可以通过将预设的测试数据集输入训练后的目标神经网络得到图像分类结果,并提供数据集Top-1和Top-5精度指标,和每一个类别对应的准确率(precision)、召回率(recall)和F1分数(F1-score)等对得到的图像分类结果进行分析,确定图像分类效果。在一个示例中,为了直观的检验训练后的目标神经网络的图像分类效果,可以将分类错误的图片展示出来以实现难例可视化。当用户认定图像分类效果达到所需要的精度,便可以将训练后的目标神经网络转换至caffe输出并打包成SDK进行发布。
本公开应用示例中提出的神经网络生成方法,除了可以应用于生成图像分类神经网络以外,还可以进一步扩展应用于其他功能的神经网络的生成,不局限于上述各公开实施例。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,当计算机可读代码在设备上运行时,设备中的处理器执行用于实现如上任一实施例提供的神经网络生成方法的指令。
本公开实施例还提供了另一种计算机程序产品,用于存储计算机可读指令,指令被执行时使得计算机执行上述任一实施例提供的神经网络生成方法的操作。
电子设备可以被提供为终端、服务器或其它形态的设备。
图4示出根据本公开实施例的一种电子设备800的框图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等终端。
参照图4,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如互补金属氧化物半导体(CMOS)或电荷耦合装置(CCD)图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如无线网络(WiFi),第二代移动通信技术(2G)或第三代移动通信技术(3G),或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器804,上述计算机程序指令可由电子设备800的处理器820执行以完成上述方法。
图5示出根据本公开实施例的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图5,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如微软服务器操作系统(Windows ServerTM),苹果公司推出的基于图形用户界面操作系统(Mac OSXTM),多用户多进程的计算机操作系统(UnixTM),自由和开放原代码的类Unix操作系统(LinuxTM),开放原代码的类Unix操作系统(FreeBSDTM)或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是(但不限于)电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (12)

1.一种神经网络生成方法,其特征在于,所述方法包括:
响应于针对目标神经网络的网络设置操作,根据被选中的神经网络进行网络设置,得到所述目标神经网络;
响应于针对所述目标神经网络的训练操作,基于预设的训练数据集以及被选中的训练方式训练所述目标神经网络,得到训练后的目标神经网络;
响应于针对所述训练后的目标神经网络的测评操作,根据预设的测试数据集,确定所述训练后的目标神经网络的图像分类效果;
在所述图像分类效果达到目标分类标准的情况下,将训练后的目标神经网络作为最终的目标神经网络。
2.根据权利要求1所述的方法,其特征在于,所述训练方式包括损失函数、优化器以及学习率调整方式中的一种或多种;
所述基于预设的训练数据集以及被选中的训练方式训练所述目标神经网络,包括:
基于被选中的损失函数,确定所述目标神经网络的输出结果与所述预设的训练数据集中标注信息的差异,并基于所述差异确定所述目标神经网络在前向计算过程中产生的损失值;
基于被选中的优化器,确定所述目标神经网络在反向传播过程中的梯度更新方式,并结合所述损失值,得到所述目标神经网络中对应的参数的梯度;
基于被选中的学习率调整方式,对所述梯度的幅值进行调整,并根据所述梯度的幅值的调整值,对所述目标神经网络中对应的参数进行更新。
3.根据权利要求1或2所述的方法,其特征在于,所述基于预设的训练数据集以及被选中的训练方式训练所述目标神经网络,包括:
将所述目标神经网络中至少部分网络层作为目标网络层,将所述目标网络层的参数存储为第一预设精度;
将所述目标神经网络中,除所述目标网络层以外的至少部分网络层的参数存储为第二预设精度;
根据预设的训练数据集,通过被选中的训练方式,训练包括所述第一预设精度的参数和所述第二预设精度的参数的目标神经网络。
4.根据权利要求1至3中任意一项所述的方法,其特征在于,所述基于预设的训练数据集以及被选中的训练方式训练所述目标神经网络,包括:
通过对所述目标神经网络中的至少一个参数进行滑动平均处理,得到至少一个伴随参数;
根据预设的训练数据集,通过被选中的训练方式训练所述目标神经网络,对所述至少一个参数以及所述至少一个伴随参数进行更新;
将更新后的至少一个参数或更新后的至少一个伴随参数,作为所述训练后的目标神经网络的参数。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,所述基于预设的训练数据集以及被选中的训练方式训练所述目标神经网络,包括:
将所述训练数据集拆分为多个子训练数据集;
基于所述多个子训练数据集,对多个具有相同初始参数的目标神经网络进行并行训练,得到多个误差损失;
对所述多个误差损失进行平均处理得到平均误差损失,基于所述平均误差损失对具有相同初始参数的每一目标神经网络的参数进行更新,得到多个具有相同参数的训练后的目标神经网络。
6.根据权利要求1至5中任意一项所述的方法,其特征在于,所述根据预设的测试数据集,确定所述训练后的目标神经网络的图像分类效果,包括:
将所述预设的测试数据集拆分为多个子测试数据集;
将所述多个子测试数据集并行地通过多个具有相同参数的训练后的目标神经网络,得到多个图像分类结果;
通过至少一种评价指标,对所述多个图像分类结果进行判断,确定所述训练后的目标神经网络的图像分类效果,其中,所述评价指标至少包括:精度评价指标、准确率评价指标以及召回率评价指标中的一种或多种。
7.根据权利要求1至6中任意一项所述的方法,其特征在于,在响应于针对所述训练后的目标神经网络的测评操作,根据预设的测试数据集,确定所述训练后的目标神经网络的图像分类效果之后,所述方法还包括:
对所述训练后的目标神经网络的图像分类效果进行可视化展示。
8.根据权利要求1至7中任意一项所述的方法,其特征在于,在所述基于预设的训练数据集以及被选中的训练方式训练所述目标神经网络之前,所述方法还包括:
响应于针对目标网络的数据设置操作,对被选中的数据集通过至少一种数据处理方式进行处理,得到处理后的数据集,其中,所述数据处理方式包括用于扩充所述被选中的数据集的数据增强处理;
响应于对所述处理后的数据集的划分操作,生成所述预设的训练数据集和/或所述预设的测试数据集。
9.根据权利要求1至8中任意一项所述的方法,其特征在于,所述方法还包括:
对所述最终的目标神经网络进行封装,得到所述最终的目标神经网络的封装文件。
10.一种神经网络生成装置,其特征在于,所述装置包括:
网络设置模块,用于响应于针对目标神经网络的网络设置操作,根据被选中的神经网络进行网络设置,得到所述目标神经网络;
训练模块,用于响应于针对所述目标神经网络的训练操作,基于预设的训练数据集以及被选中的训练方式训练所述目标神经网络,得到训练后的目标神经网络;
测评模块,用于响应于针对所述训练后的目标神经网络的测评操作,根据预设的测试数据集,确定所述训练后的目标神经网络的图像分类效果;
确定模块,用于在所述图像分类效果达到目标分类标准的情况下,将训练后的目标神经网络作为最终的目标神经网络。
11.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求1至9中任意一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至9中任意一项所述的方法。
CN202011558527.8A 2020-12-25 2020-12-25 神经网络生成方法及装置、电子设备和存储介质 Pending CN112598063A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011558527.8A CN112598063A (zh) 2020-12-25 2020-12-25 神经网络生成方法及装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011558527.8A CN112598063A (zh) 2020-12-25 2020-12-25 神经网络生成方法及装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN112598063A true CN112598063A (zh) 2021-04-02

Family

ID=75202532

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011558527.8A Pending CN112598063A (zh) 2020-12-25 2020-12-25 神经网络生成方法及装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN112598063A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282718A (zh) * 2021-07-26 2021-08-20 北京快鱼电子股份公司 一种基于自适应中心锚的语种识别方法及系统
CN113469358A (zh) * 2021-07-05 2021-10-01 北京市商汤科技开发有限公司 一种神经网络训练方法、装置、计算机设备及存储介质
CN113702719A (zh) * 2021-08-03 2021-11-26 北京科技大学 一种基于神经网络的宽带近场电磁定位方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113469358A (zh) * 2021-07-05 2021-10-01 北京市商汤科技开发有限公司 一种神经网络训练方法、装置、计算机设备及存储介质
CN113282718A (zh) * 2021-07-26 2021-08-20 北京快鱼电子股份公司 一种基于自适应中心锚的语种识别方法及系统
CN113282718B (zh) * 2021-07-26 2021-12-10 北京快鱼电子股份公司 一种基于自适应中心锚的语种识别方法及系统
CN113702719A (zh) * 2021-08-03 2021-11-26 北京科技大学 一种基于神经网络的宽带近场电磁定位方法及装置

Similar Documents

Publication Publication Date Title
CN110210535B (zh) 神经网络训练方法及装置以及图像处理方法及装置
CN107491541B (zh) 文本分类方法及装置
EP3886004A1 (en) Method for training classification model, classification method and device, and storage medium
CN110688951B (zh) 图像处理方法及装置、电子设备和存储介质
US11544820B2 (en) Video repair method and apparatus, and storage medium
KR102421820B1 (ko) 키포인트 검출 방법, 장치, 전자 기기 및 기억 매체
TWI747325B (zh) 目標對象匹配方法及目標對象匹配裝置、電子設備和電腦可讀儲存媒介
US20210012523A1 (en) Pose Estimation Method and Device and Storage Medium
KR20210102180A (ko) 이미지 처리 방법 및 장치, 전자 기기 및 기억 매체
CN112598063A (zh) 神经网络生成方法及装置、电子设备和存储介质
CN111753822A (zh) 文本识别方法及装置、电子设备和存储介质
CN110837761B (zh) 多模型知识蒸馏方法及装置、电子设备和存储介质
CN111191715A (zh) 图像处理方法及装置、电子设备和存储介质
CN109145970B (zh) 基于图像的问答处理方法和装置、电子设备及存储介质
CN109615006B (zh) 文字识别方法及装置、电子设备和存储介质
CN109858614B (zh) 神经网络训练方法及装置、电子设备和存储介质
CN111881956A (zh) 网络训练方法及装置、目标检测方法及装置和电子设备
CN110909815A (zh) 神经网络训练、图像处理方法、装置及电子设备
TWI752405B (zh) 神經網路訓練及圖像生成方法、電子設備、儲存媒體
JP2022522551A (ja) 画像処理方法及び装置、電子機器並びに記憶媒体
CN110458218B (zh) 图像分类方法及装置、分类网络训练方法及装置
CN111259967A (zh) 图像分类及神经网络训练方法、装置、设备及存储介质
CN111931844A (zh) 图像处理方法及装置、电子设备和存储介质
CN113326768A (zh) 训练方法、图像特征提取方法、图像识别方法及装置
CN110532956B (zh) 图像处理方法及装置、电子设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination