CN111461207B - 一种图片识别模型训练系统及方法 - Google Patents
一种图片识别模型训练系统及方法 Download PDFInfo
- Publication number
- CN111461207B CN111461207B CN202010240106.4A CN202010240106A CN111461207B CN 111461207 B CN111461207 B CN 111461207B CN 202010240106 A CN202010240106 A CN 202010240106A CN 111461207 B CN111461207 B CN 111461207B
- Authority
- CN
- China
- Prior art keywords
- server
- picture
- trained
- group
- batch
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
Abstract
本发明实施例涉及一种图片识别模型训练系统及方法,系统包括:第一服务器在获取待训练的图片数据后,对其进行批次划分;在第j次模型训练时,将第j批次待训练图片数据发送到第二服务器上;第二服务器从该待训练图片数据中提取一批完整的图片特征;将此图片特征分别发送至服务器群组中每一台服务器上;服务器群组中的第i台服务器接收第二服务器发送的一批完整的图片特征;对此批完整的图片特征进行预处理;根据处理结果分别对第二服务器和服务器群组中的第i台服务器的模型训练参数进行更新;再执行第j+1次模型训练。通过该种方式来解决由于单个GPU显存无法装载对待识别人物进行分类识别时所需要的参数,也就无法对图片进行识别的问题。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种图片识别模型训练系统及方法。
背景技术
随着深度学习方法的广泛熟知和了解,其已经被应用到各个领域。例如采用深度学习方法对图片识别模型进行训练。在训练过程中,训练模型的全链接层中的参数与要识别的人物个数有关。当在训练过程中,需要识别人物的数量极大,例如几百万个时,单个图形处理器(Graphics Processing Unit,简称GPU)显存将无法装载对待识别人物进行识别时所需要的参数,进而导致无法进行模型训练,也就无法对图片进行识别。
那么,当待识别人物的数量极大的情况下,如何才能够解决由于单个GPU显存无法装载对待识别人物进行分类识别时所需要的参数,进而导致无法进行模型训练,成为本申请亟待解决的技术问题。
发明内容
鉴于此,为解决现有技术中在待识别人物数量极大的情况下,由于单个GPU显存无法装载对待识别人物进行分类识别时所需要的参数,进而导致无法进行模型训练,也就无法对图片进行识别的技术问题,本发明实施例提供一种图片识别模型训练系统及方法。
第一方面,本发明实施例提供一种图片识别模型训练系统,该系统包括::第一服务器、第二服务器以及服务器群组;
第一服务器用于,在获取待训练的图片数据后,对待训练的图片数据进行批次划分;并在第j次模型训练时,将第j批次待训练图片数据发送到第二服务器上;
第二服务器,用于从第j批次待训练图片数据中提取一批完整的图片特征;并将此批完整的图片特征分别发送至服务器群组中每一台服务器上;
服务器群组中的第i台服务器,用于接收第二服务器发送的一批完整的图片特征;
对此批完整的图片特征进行预处理,获取处理结果;
根据处理结果分别对第二服务器和服务器群组中的第i台服务器的模型训练参数进行更新;再执行第j+1次模型训练,或者,当确定本批次参数更新后的训练模型为最优训练模型时,停止训练,其中,服务器群组中每一台服务器均存储有与自身待识别的人物对应的训练参数,j为大于或者等于1,且小于或者等于批次总数减1的正整数,j依次递进取值,初始取值为1,i为大于或者等于1,且小于或者等于服务器群组中服务器总数的数值。
在一个可能的实施方式中,服务器群组中的第i台服务器,具体用于:
利用损失函数,对此批完整的图片特征进行预处理,获取处理结果。
在一个可能的实施方式中,服务器群组中的第i台服务器,具体用于:
根据处理结果对服务器群组中的第i台服务器的模型训练参数进行更新;将处理结果发送至第二服务器上;
第二服务器具体用于,根据服务器群组中的所有服务器分别反馈的处理结果,对自身的模型训练参数进行更新。
在一个可能的实施方式中,当系统中第二服务器包括多个服务进程时,第一服务器具体用于,
在第j次模型训练时,将第j批次待训练图片数据分为与第二服务器中服务进程数量对等的份数;
将所有份数的待训练数据发送到第二服务器上;
第二服务器具体用于,利用第k个服务进程,从第k份待训练的图片数据中提取第k份分组图片特征;
并将每一份分组图片特征均分别发送至服务器群组中每一台服务器上;
服务器群组中的第i台服务器,接收第二服务器发送的所有分组图片特征,并将所有分组图片特征拼接成一批完整的图片特征,其中k为大于或者等于1,且小于或者等于服务进程总数的数值。
在一个可能的实施方式中,服务器群组中的第i台服务器,具体用于:
根据处理结果对服务器群组中的第i台服务器的模型训练参数进行更新;将处理结果发送至第二服务器上;
第二服务器还用于,根据服务器群组中的所有服务器分别反馈的处理结果,对每个进程的模型训练参数进行更新。
在一个可能的实施方式中,当系统中第二服务器包括多台,且每一台第二服务器均包括至少一个服务进程时,第一服务器具体用于,
在第j次模型训练时,将第j批次待训练图片数据按照预设规则分为与服务进程对等的份数;
依次将每一份的待训练数据分别发送到相应的第二服务器上;
多台第二服务器中每一台第二服务器具体用于,从接收的待处理的待训练图片数据中提取分组图片特征;
并将分组图片特征分别发送至服务器群组中每一台服务器上;
服务器群组中的第i台服务器,接收所有第二服务器分别发送的分组图片特征,并将所有分组图片特征拼接成一批完整的图片特征。
在一个可能的实施方式中,服务器群组中的第i台服务器,具体用于:
根据处理结果对服务器群组中的第i台服务器的模型训练参数进行更新;将处理结果发送至多台第二服务器中的每一台第二服务器上;
每一台第二服务器还用于,根据服务器群组中的所有服务器分别反馈的处理结果,对自身的模型训练参数进行更新。
第二方面,本发明实施例提供一种图片识别模型训练方法,方法应用于一种图片识别模型训练系统,系统包括:第一服务器、第二服务器以及服务器群组;方法包括:
第一服务器在获取待训练的图片数据后,对待训练的图片数据进行批次划分;并在第j次模型训练时,将第j批次待训练图片数据发送到第二服务器上;
第二服务器从第j批次待训练图片数据中提取一批完整的图片特征;并将此批完整的图片特征分别发送至服务器群组中每一台服务器上;
服务器群组中的第i台服务器接收第二服务器发送的一批完整的图片特征;
对此批完整的图片特征进行预处理,获取处理结果;
根据处理结果分别对第二服务器和服务器群组中的第i台服务器的模型训练参数进行更新;再执行第j+1次模型训练,或者,当确定本批次参数更新后的训练模型为最优训练模型时,停止训练,其中,服务器群组中每一台服务器均存储有与自身待识别的人物对应的训练参数,j为大于或者等于1,且小于或者等于批次总数减1的正整数,j依次递进取值,初始取值为1,i为大于或者等于1,且小于或者等于服务器群组中服务器总数的数值。
在一个可能的实施方式中,根据处理结果分别对第二服务器和服务器群组中的第i台服务器的模型训练参数进行更新,具体包括:
根据处理结果对服务器群组中的第i台服务器的模型训练参数进行更新;将处理结果发送至第二服务器上;
第二服务器具体用于,根据服务器群组中的所有服务器分别反馈的处理结果,对自身的模型训练参数进行更新。
在一个可能的实施方式中,当系统中第二服务器包括多个服务进程,第一服务器在获取待训练的图片数据,对待训练的图片数据进行批次划分之后,方法包括:
第一服务器在第j次模型训练时,将第j批次待训练图片数据分为与第二服务器中服务进程数量对等的份数;将所有份数的待训练数据发送到第二服务器上;
第二服务器利用第k个服务进程,从第k份待训练的图片数据中提取第k份分组图片特征;
并将每一份分组图片特征均分别发送至服务器群组中每一台服务器上;
服务器群组中的第i台服务器,接收第二服务器发送的所有分组图片特征,并将所有分组图片特征拼接成一批完整的图片特征,其中k为大于或者等于1,且小于或者等于服务进程总数的数值。
在一个可能的实施方式中,当系统中第二服务器包括多台,且每一台第二服务器均包括至少一个服务进程,第一服务器在获取待训练的图片数据,对待训练的图片数据进行批次划分之后,方法包括:
第一服务器在第j次模型训练时,将第j批次待训练图片数据按照预设规则分为与服务进程对等的份数;依次将每一份的待训练数据分别发送到相应的第二服务器上;
多台第二服务器中每一台第二服务器分别从接收的待处理的待训练图片数据中提取分组图片特征;
并将分组图片特征分别发送至服务器群组中每一台服务器上;
服务器群组中的第i台服务器接收所有第二服务器分别发送的分组图片特征,并将所有分组图片特征拼接成一批完整的图片特征。
本发明实施例提供的一种图片识别模型训练系统,在上述执行过程中,将待训练的图片数据分成多批次。在某一次训练时,将该批次待训练的图片数据发送至第二服务器进行特征识别,将提取的此批完整的图片特征分别发送至服务器群组中每一台服务器。服务器群组中的不同服务器分别对该批次图片特征进行后续处理的过程。由于服务器群组中每一台服务器均存储有与自身待识别的人物对应的训练参数,所以服务器群组中的每一台服务器仅用于对本批次图片特征进行分类,用以确定是否存在本服务器中待识别的某几个人物中的一个或多个人物图片。而并非将所有待识别人物对应的参数均存储至同一台服务器上。通过该种方式来解决由于单个GPU显存无法装载对待识别人物进行分类识别时所需要的参数,进而导致无法进行模型训练,也就无法对图片进行识别的问题。而且,当人物数量增多时,只要增加服务器群组中的服务器数量即可。
附图说明
图1为本发明实施例提供一种图片识别模型训练系统结构示意图;
图2为本发明实施例提供另一种图片识别模型训练系统结构示意图;
图3为本发明实施例提供的一种图片识别模型训练方法流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
图1为本发明实施例提供的一种图片识别模型训练系统,该系统包括:第一服务器10、第二服务器20以及服务器群组30。
第一服务器10用于,在获取待训练的图片数据后,对待训练的图片数据进行批次划分;并在第j次模型训练时,将第j批次待训练图片数据发送到第二服务器20上;
第二服务器20,用于从第j批次待训练图片数据中提取一批完整的图片特征;并将此批完整的图片特征分别发送至服务器群组30中每一台服务器上;
服务器群组30中的第i台服务器,用于接收第二服务器20发送的图片特征;
对此批完整的图片特征进行预处理,获取处理结果;
根据处理结果分别对第二服务器20和服务器群组30中的第i台服务器的模型训练参数进行更新;再执行第j+1次模型训练,或者,当确定本批次参数更新后的训练模型为最优训练模型时,停止训练,其中,服务器群组30中每一台服务器均存储有与自身待识别的人物对应的训练参数,j为大于或者等于1,且小于或者等于批次总数减1的正整数,j依次递进取值,初始取值为1,i为大于或者等于1,且小于或者等于服务器群组30中服务器总数的数值。
具体的,第一服务器10首先获取待训练的图片数据。在第一服务器10上启动一个读取进程SP1,SP1用于对待训练的图片数据进行批次划分。例如待训练数据有10000张,每一批次是训练1000张,分为10批次进行训练。然后在第j次模型训练时,将第j批次待训练图片数据发送到第二服务器20上。此时,j为大于或者等于1,小于或者等于9的正整数。j初始取值为1,并依次递进取值。
例如j等于5,也即是说本次为第5次执行模型训练。第一服务器10将会将第5批次图片数据发送至第二服务器20上。
第二服务器20,用于启动一个特征提取进程EP1,从第5批次待训练图片数据中提取一批完整的图片特征,然后将图片特征分发到服务器群组30中的每一台服务器上。
服务器群组30中的第i台服务器,用于启动进程FCi,接收第二服务器20发送的图片特征。然后对此批完整的图片特征进行预处理。例如,可以采用预设函数对此批完整的图片特征进行求导,获取导数。在一个具体的例子中,以预设函数为损失函数,对此批完整的图片特征进行求导为例进行说明,具体参见如下:
具体的求导过程包括:
定义Fci为一个人物图像维度乘以服务器群组30中第i服务器内存储人物信息的数量的向量矩阵,F为待训练图片的数量乘以一个人物图像维度的向量矩阵,例如,人物图像维度为512,服务器群组30中第i个服务器内部存储人物信息的数量为10,即第i个服务器中存储10个人物的个人信息。本批次待训练的图片数量为1000,那么Fci则是一个10乘以512,的向量矩阵,而F是一个512乘以1000的向量矩阵。根据Fci和F,确定h,其中,h为特征和所要分类人物的相似度向量,h为Fci与F相乘后的特征向量。然后通过如下公式得到最终的导数。
获取导数后,根据导数分别对第二服务器20和服务器群组30中的第i台服务器的模型训练参数进行更新;再执行第j+1次模型训练,或者,当确定本批次参数更新后的训练模型为最优训练模型时,停止训练。
可选的,服务器群组30中的第i台服务器,具体用于:
根据处理结果对服务器群组30中的第i台服务器的模型训练参数进行更新;将处理结果发送至第二服务器20上;
第二服务器20具体用于,根据服务器群组30中的每一台服务器反馈的处理结果,对自身的模型训练参数进行更新。
具体的,以上文中获取导数对相应的模型训练参数进行更新为例进行说明。由于服务器群组30中的每一台服务器仅用于对待训练图片数据的图片特征进行分类,用以识别是否存在本服务器中待识别人物的图像。因此,可以直接采用导数对本服务器中的模型训练参数进行更新。而对于第二服务器20而言,是要对所有待训练数据提取图像特征,所以需要获取到服务器群组30中不同服务器分别得到的导数,再求取这些导数的平均值,作为第二服务器20的导数,对第二服务器20自身的模型训练参数进行更新。
具体可以参见公式3和公式4。其中,利用公式3对服务器群组30中所有服务器的导数进行更新,利用公式4中的导数对第二服务器20的模型训练参数进行更新。
在执行完成上述过程后,如果确定本次参数更新后的训练模型并非是最优训练模型的话,则还需要执行第j+1次模型训练。或者,如果已经确定了本批次参数更新后的训练模型已经是最优训练模型,则停止训练。
可选的,这里确定是否是最优训练模型,主要是人为事先设定标准,然后系统执行。例如人为根据经验值给定训练轮数,又训练模型统计自身已经训练的轮数,当训练轮数达到预设轮数时,则采用测试数据对自身进行测试,服务器群组30中的所有服务器分别将自身的测试结果发送至第一服务器,由第一服务器10确定测试结果与预设标准进行比较,确定当前的训练模型是否为最优训练模型。例如,测试图片只有一张,且属于待识别人物中的其中一个人。待识别的人物包括10个。服务器群组30中包括10台服务器,经过一轮测试后,每台服务器对该图片的识别都有一个置信度(就是判定该图片是服务器待识别人物的几率),这个置信度就是测试结果。最终可以获取到10个测试结果。将这10个测试结果分别发送至第一服务器10,由第一服务器10根据这些测试结果中选取和预设标准进行比较,确定训练模型是否为最优。比较过程先是判定是否是同一个人,然后再判定概率是否大于预设标准的概率。因此,预设标准不仅仅包括数值,还应该包括人物身份。比如预设标准是图片是明星A,置信度为70,而服务器群组30中不同服务器识别出的测试结果可能包括人物明星A,置信度60%;人物是明星B,置信度为30%;人物是明星A,置信度为80%等等。那么,人物身份一致的,置信度分别是60%和80%,选取最大的置信度为80%和预设标准的置信度相比较,确定符合标准。则,认为属于最优训练模型。
又或者,预设标准为:人物,明星A,置信度60,识别准确比例(服务器群组30中,识别人物准确,置信度高于预设标准的服务器台数,与服务器群组30中总台数的比例):50%。那么,同样由第一服务器10根据上述预测结果和预设标准进行比较来判定,当前的训练模型是否为最优模型。
在另一种方式中,也可以预先设定服务器群组30中某一个服务器为主服务器,其他服务器的测试结果发送至主服务器,由主服务器统计所有服务器的测试结果,并根据所有的测试结果,与预设标准进行比较,确定当前的训练模型是否为最优训练模型。又或者,再训练模型中添加一个服务器,专门用于统计测试结果,并将测试结果与预设标准进行比较,确定当前的训练模型是否为最优训练模型。具体判定是否为最优训练模型的过程参见上文,这里不再过多赘述。如果不是,则进行下一次的训练,直至获取最优训练模型。进一步的,还可以设定最大的训练轮数值,当训练轮数已经达到最大的训练轮数值时,不管训练模型是否达到最优,都默认当前的训练模型为最优训练模型,并停止训练。从成本和计算效率的角度考虑,优选的,可以服务器群组30中所有服务器分别将测试结果发送至第一服务器10上,由第一服务器10执行上述过程。
可选的,在对待训练的图片数据进行批次划分之前,第一服务器10还用于,对待训练的图片数据进行预处理。例如旋转、crop等操作,用以实现数据增强处理。
上文中,默认第二服务器20仅包括一个服务进程。为了进一步提升特征提取效率,可选的,该系统中第二服务器20可以包括多个服务进程。或者是可以包括多台第二服务器20。
当第二服务器20包括多个服务进程时,上述实施例中的第一服务器10执行的功能将替换为:在第j次模型训练时,将第j批次待训练图片数据分为与第二服务器中服务进程数量对等的份数;将所有份数的待训练数据发送到第二服务器20上。
第二服务器20的功能则是利用第k个服务进程,从第k份待训练的图片数据中提取第k份分组图片特征;
并将每一份分组图片特征均分别发送至服务器群组30中每一台服务器上,其中k为大于或者等于1,且小于或者等于服务进程总数的数值。
而服务器群组30中的第i台服务器,接收第二服务器20发送的所有分组图片特征,并将所有分组图片特征拼接成一批完整的图片特征,以便执行后续操作。
可选的,服务器群组30中的第i台服务器,具体用于:
根据处理结果对服务器群组30中的第i台服务器的模型训练参数进行更新;将处理结果发送至第二服务器20上;
第二服务器20还用于,根据服务器群组30中的所有服务器分别反馈的处理结果,对每个进程的模型训练参数进行更新。
其中,第一服务器10、第二服务器20以及服务器群组30中的每一台服务器具体的执行细节实际上与上文中所介绍的相同或者类似,这里并不做过多赘述。
在另外一种情况中,具体参见图2所示,图2为本发明实施例提供的另一种图片识别模型训练系统。
当系统中包括多台第二服务器20,且第二服务器20包括至少一个服务进程时,第一服务器10具体用于,在第j次模型训练时,将第j批次待训练图片数据按照预设规则分为与服务进程对等的份数。这里说的预设规则是指不同的服务器根据自身资源占用情况不同,处理的图片数量也不同。因此需要根据不同服务器所能处理的图片数量,以及服务进程的总分数,对待训练图片划分为与服务器进行对等的分数,也即是,不同份的图片数量未必相等。
依次将每一份的待训练数据分别发送到相应的第二服务器20上;
多台第二服务器20中每一台第二服务器20具体用于,从接收的待处理的待训练图片数据中提取分组图片特征;
并将分组图片特征分别发送至服务器群组30中每一台服务器上;
服务器群组30中的第i台服务器,接收所有第二服务器20分别发送的分组图片特征,并将所有分组图片特征拼接成一批完整的图片特征,以便执行后续操作。
可选的,服务器群组30中的第i台服务器,具体用于:
根据处理结果对服务器群组30中的第i台服务器的模型训练参数进行更新;将处理结果发送至多台第二服务器20中的每一台第二服务器20上;
每一台第二服务器20还用于,根据服务器群组30中的所有服务器分别反馈的处理结果,对自身的模型训练参数进行更新。
其中,第一服务器10、第二服务器20以及服务器群组30中的每一台服务器具体的执行细节实际上与上文中所介绍的相同或者类似,这里并不做过多赘述。
本发明实施例提供的一种图片识别模型训练系统,在上述执行过程中,将待训练的图片数据分成多批次。在某一次训练时,将该批次待训练的图片数据发送至第二服务器进行特征识别,将提取的此批完整的图片特征分别发送至服务器群组中每一台服务器。服务器群组中的不同服务器分别对该批次图片特征进行后续处理的过程。由于服务器群组中每一台服务器均存储有与自身待识别的人物对应的训练参数,所以服务器群组中的每一台服务器仅用于对本批次图片特征进行分类,用以确定是否存在本服务器中待识别的某几个人物中的一个或多个人物图片。而并非将所有待识别人物对应的参数均存储至同一台服务器上。通过该种方式来解决由于单个GPU显存无法装载对待识别人物进行分类识别时所需要的参数,进而导致无法进行模型训练,也就无法对图片进行识别的问题。而且,当人物数量增多时,只要增加服务器群组中的服务器数量即可。
图3为本发明实施例提供的一种图片识别模型训练方法流程示意图,具体如图3所示,该方法应用于如图1或图2所示的一种图片识别模型训练系统,该系统包括:第一服务器、第二服务器以及服务器群组;该方法包括:
步骤310,第一服务器在获取待训练的图片数据后,对待训练的图片数据进行批次划分。
步骤320,第一服务器在第j次模型训练时,将第j批次待训练图片数据发送到第二服务器上。
步骤330,第二服务器从第j批次待训练图片数据中提取一批完整的图片特征。
步骤340,第二服务器将此批完整的图片特征分别发送至服务器群组中每一台服务器上。
步骤350,服务器群组中的第i台服务器接收第二服务器发送的图片特征。
步骤360,对此批完整的图片特征进行预处理,获取处理结果。
步骤370,根据处理结果分别对第二服务器和服务器群组中的第i台服务器的模型训练参数进行更新,再执行第j+1次模型训练,或者,当确定本批次参数更新后的训练模型为最优训练模型时,停止训练。
其中,服务器群组中每一台服务器均存储有与自身待识别的人物对应的训练参数,j为大于或者等于1,且小于或者等于批次总数减1的正整数,j依次递进取值,初始取值为1,i为大于或者等于1,且小于或者等于服务器群组中服务器总数的数值。
可选的,对待训练的图片数据进行批次划分之前,方法还包括:对待训练的图片数据进行预处理。
可选的,对此批完整的图片特征进行预处理,具体包括:利用损失函数,对此批完整的图片特征进行预处理,获取处理结果。
可选的,根据处理结果分别对第二服务器和服务器群组中的第i台服务器的模型训练参数进行更新,具体包括:
根据处理结果对服务器群组中的第i台服务器的模型训练参数进行更新;将处理结果发送至第二服务器上;
第二服务器根据服务器群组中的每一台服务器反馈的处理结果,对自身的模型训练参数进行更新。
可选的,当系统中第二服务器包括多个服务进程,第一服务器在获取待训练的图片数据,对待训练的图片数据进行批次划分之后,方法包括:
第一服务器在第j次模型训练时,将第j批次待训练图片数据分为与第二服务器中服务进程数量对等的份数;将所有份数的待训练数据发送到第二服务器上;
第二服务器利用第k个服务进程,从第k份待训练的图片数据中提取第k份分组图片特征;
并将每一份分组图片特征均分别发送至服务器群组中每一台服务器上;
服务器群组中的第i台服务器,接收第二服务器发送的所有分组图片特征,并将所有分组图片特征拼接成一批完整的图片特征,其中k为大于或者等于1,且小于或者等于服务进程总数的数值。
可选的,当系统中第二服务器包括多台,且每一台第二服务器均包括至少一个服务进程,第一服务器在获取待训练的图片数据,对待训练的图片数据进行批次划分之后,方法包括:
第一服务器在第j次模型训练时,将第j批次待训练图片数据按照预设规则分为与服务进程对等的份数;依次将每一份的待训练数据分别发送到相应的第二服务器上;
多台第二服务器中每一台第二服务器分别从接收的待处理的待训练图片数据中提取分组图片特征;
并将分组图片特征分别发送至服务器群组中每一台服务器上;
服务器群组中的第i台服务器接收所有第二服务器分别发送的分组图片特征,并将所有分组图片特征拼接成一批完整的图片特征。
可选的,根据处理结果分别对第二服务器和服务器群组中的第i台服务器的模型训练参数进行更新,具体包括:根据处理结果对服务器群组中的第i台服务器的模型训练参数进行更新;将处理结果发送至多台第二服务器中的每一台第二服务器上;
每一台第二服务器根据服务器群组中的所有服务器分别反馈的处理结果,对自身的模型训练参数进行更新。
本实施例提供的图片识别模型训练方法中各方法步骤均已在图1对应的实施例中做了详细介绍,因此这里不再赘述。
本发明实施例提供的图片识别模型训练方法,将待训练的图片数据分成多批次。在某一次训练时,将该批次待训练的图片数据发送至第二服务器进行特征识别,将提取的此批完整的图片特征分别发送至服务器群组中每一台服务器。服务器群组中的不同服务器分别对该批次图片特征进行后续处理的过程。由于服务器群组中每一台服务器均存储有与自身待识别的人物对应的训练参数,所以服务器群组中的每一台服务器仅用于对本批次图片特征进行分类,用以确定是否存在本服务器中待识别的某几个人物中的一个或多个人物图片。而并非将所有待识别人物对应的参数均存储至同一台服务器上。通过该种方式来解决由于单个GPU显存无法装载对待识别人物进行分类识别时所需要的参数,进而导致无法进行模型训练,也就无法对图片进行识别的问题。而且,当人物数量增多时,只要增加服务器群组中的服务器数量即可。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种图片识别模型训练系统,其特征在于,所述系统包括:第一服务器、第二服务器以及服务器群组;
所述第一服务器用于,在获取待训练的图片数据后,对所述待训练的图片数据进行批次划分;并在第j次模型训练时,将第j批次待训练图片数据发送到所述第二服务器上;当所述系统中第二服务器包括多个服务进程时,所述第一服务器具体用于,在第j次模型训练时,将第j批次待训练图片数据分为与所述第二服务器中服务进程数量对等的份数;将所有份数的待训练数据发送到所述第二服务器上;
所述第二服务器,用于从所述第j批次待训练图片数据中提取一批完整的图片特征;并将此批完整的图片特征分别发送至所述服务器群组中每一台服务器上;所述第二服务器具体用于,利用第k个服务进程,从第k份待训练的图片数据中提取第k份分组图片特征;并将每一份分组图片特征均分别发送至所述服务器群组中每一台服务器上;
所述服务器群组中的第i台服务器,用于接收所述第二服务器发送的一批完整的图片特征;所述服务器群组中的第i台服务器,接收所述第二服务器发送的所有分组图片特征,并将所有分组图片特征拼接成一批完整的图片特征,其中k为大于或者等于1,且小于或者等于所述服务进程总数的数值;
对此批完整的图片特征进行预处理;
根据处理结果分别对所述第二服务器和所述服务器群组中的第i台服务器的模型训练参数进行更新;再执行第j+1次模型训练,或者,当确定本批次参数更新后的训练模型为最优训练模型时,停止训练,其中,所述服务器群组中每一台服务器均存储有与自身待识别的人物对应的训练参数,j为大于或者等于1,且小于或者等于批次总数减1的正整数,j依次递进取值,初始取值为1,i为大于或者等于1,且小于或者等于所述服务器群组中服务器总数的数值。
2.根据权利要求1所述的系统,其特征在于,所述服务器群组中的第i台服务器,具体用于:
根据所述处理结果对所述服务器群组中的第i台服务器的模型训练参数进行更新;将所述处理结果发送至所述第二服务器上;
所述第二服务器具体用于,根据所述服务器群组中的所有服务器分别反馈的处理结果,对自身的模型训练参数进行更新。
3.根据权利要求1所述的系统,其特征在于,所述服务器群组中的第i台服务器,具体用于:
根据所述处理结果对所述服务器群组中的第i台服务器的模型训练参数进行更新;将所述处理结果发送至所述第二服务器上;
所述第二服务器还用于,根据所述服务器群组中的所有服务器分别反馈的处理结果,对每个进程的模型训练参数进行更新。
4.根据权利要求1或2所述的系统,其特征在于,当所述系统中第二服务器包括多台,且每一台第二服务器均包括至少一个服务进程时,所述第一服务器具体用于,
在第j次模型训练时,将第j批次待训练图片数据按照预设规则分为与所述服务进程对等的份数;
依次将每一份的待训练数据分别发送到相应的第二服务器上;
所述多台第二服务器中每一台第二服务器具体用于,从接收的待处理的待训练图片数据中提取分组图片特征;
并将所述分组图片特征分别发送至所述服务器群组中每一台服务器上;
所述服务器群组中的第i台服务器,接收所有第二服务器分别发送的分组图片特征,并将所有分组图片特征拼接成一批完整的图片特征。
5.根据权利要求4所述的系统,其特征在于,所述服务器群组中的第i台服务器,具体用于:
根据所述处理结果对所述服务器群组中的第i台服务器的模型训练参数进行更新;将所述处理结果发送至所述多台第二服务器中的每一台第二服务器上;
所述每一台第二服务器还用于,根据所述服务器群组中的所有服务器分别反馈的处理结果,对自身的模型训练参数进行更新。
6.一种图片识别模型训练方法,其特征在于,所述方法应用于一种图片识别模型训练系统,所述系统包括:第一服务器、第二服务器以及服务器群组;所述方法包括:
所述第一服务器在获取待训练的图片数据后,对所述待训练的图片数据进行批次划分;并在第j次模型训练时,将第j批次待训练图片数据发送到所述第二服务器上;当所述系统中第二服务器包括多个服务进程,所述第一服务器在获取待训练的图片数据,对所述待训练的图片数据进行批次划分之后,所述第一服务器在第j次模型训练时,将第j批次待训练图片数据分为与所述第二服务器中服务进程数量对等的份数;将所有份数的待训练数据发送到所述第二服务器上;
所述第二服务器从所述第j批次待训练图片数据中提取一批完整的图片特征;并将此批完整的图片特征分别发送至所述服务器群组中每一台服务器上;所述第二服务器利用第k个服务进程,从第k份待训练的图片数据中提取第k份分组图片特征;并将每一份分组图片特征均分别发送至所述服务器群组中每一台服务器上;
所述服务器群组中的第i台服务器接收所述第二服务器发送的一批完整的图片特征;所述服务器群组中的第i台服务器,接收所述第二服务器发送的所有分组图片特征,并将所有分组图片特征拼接成一批完整的图片特征,其中k为大于或者等于1,且小于或者等于所述服务进程总数的数值;
对此批完整的图片特征进行预处理,获取处理结果;
根据所述处理结果分别对所述第二服务器和所述服务器群组中的第i台服务器的模型训练参数进行更新;再执行第j+1次模型训练,或者,当确定本批次参数更新后的训练模型为最优训练模型时,停止训练,其中,所述服务器群组中每一台服务器均存储有与自身待识别的人物对应的训练参数,j为大于或者等于1,且小于或者等于批次总数减1的正整数,j依次递进取值,初始取值为1,i为大于或者等于1,且小于或者等于所述服务器群组中服务器总数的数值。
7.根据权利要求6所述的方法,其特征在于,所述根据所述处理结果分别对所述第二服务器和所述服务器群组中的第i台服务器的模型训练参数进行更新,具体包括:
根据所述处理结果对所述服务器群组中的第i台服务器的模型训练参数进行更新;将所述处理结果发送至所述第二服务器上;
所述第二服务器具体用于,根据所述服务器群组中的所有服务器分别反馈的处理结果,对自身的模型训练参数进行更新。
8.根据权利要求6所述的方法,其特征在于,当所述系统中第二服务器包括多台,且每一台第二服务器均包括至少一个服务进程,所述第一服务器在获取待训练的图片数据,对所述待训练的图片数据进行批次划分之后,所述方法包括:
所述第一服务器在第j次模型训练时,将第j批次待训练图片数据按照预设规则分为与所述服务进程对等的份数;依次将每一份的待训练数据分别发送到相应的第二服务器上;
所述多台第二服务器中每一台第二服务器分别从接收的待处理的待训练图片数据中提取分组图片特征;
并将所述分组图片特征分别发送至所述服务器群组中每一台服务器上;
所述服务器群组中的第i台服务器接收所有第二服务器分别发送的分组图片特征,并将所有分组图片特征拼接成一批完整的图片特征。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010240106.4A CN111461207B (zh) | 2020-03-30 | 2020-03-30 | 一种图片识别模型训练系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010240106.4A CN111461207B (zh) | 2020-03-30 | 2020-03-30 | 一种图片识别模型训练系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111461207A CN111461207A (zh) | 2020-07-28 |
CN111461207B true CN111461207B (zh) | 2023-07-18 |
Family
ID=71679345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010240106.4A Active CN111461207B (zh) | 2020-03-30 | 2020-03-30 | 一种图片识别模型训练系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111461207B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8768870B1 (en) * | 2012-05-22 | 2014-07-01 | Google Inc. | Training a model using parameter server shards |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107025205B (zh) * | 2016-01-30 | 2021-06-22 | 华为技术有限公司 | 一种分布式系统中的训练模型的方法及设备 |
CN107688493B (zh) * | 2016-08-05 | 2021-06-18 | 阿里巴巴集团控股有限公司 | 训练深度神经网络的方法、装置及系统 |
CN117709426A (zh) * | 2017-02-24 | 2024-03-15 | 渊慧科技有限公司 | 训练机器学习模型的方法、系统和计算机存储介质 |
US11275991B2 (en) * | 2018-04-04 | 2022-03-15 | Nokia Technologies Oy | Coordinated heterogeneous processing of training data for deep neural networks |
CN109032630B (zh) * | 2018-06-29 | 2021-05-14 | 电子科技大学 | 一种参数服务器中全局参数的更新方法 |
-
2020
- 2020-03-30 CN CN202010240106.4A patent/CN111461207B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8768870B1 (en) * | 2012-05-22 | 2014-07-01 | Google Inc. | Training a model using parameter server shards |
Non-Patent Citations (1)
Title |
---|
多GPU环境下的卷积神经网络并行算法;王裕民等;《小型微型计算机系统》(03);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111461207A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110674881B (zh) | 商标图像检索模型训练方法、系统、存储介质及计算机设备 | |
EP2806374B1 (en) | Method and system for automatic selection of one or more image processing algorithm | |
CN108230291B (zh) | 物体识别系统训练方法、物体识别方法、装置和电子设备 | |
CN110188829B (zh) | 神经网络的训练方法、目标识别的方法及相关产品 | |
CN111144566A (zh) | 神经网络权重参数的训练方法、特征分类方法及对应装置 | |
CN110414431B (zh) | 基于弹性上下文关系损失函数的人脸识别方法及系统 | |
CN115731422A (zh) | 多标签分类模型的训练方法、分类方法及装置 | |
CN115984930A (zh) | 微表情识别方法、装置、微表情识别模型的训练方法 | |
CN109101984B (zh) | 一种基于卷积神经网络的图像识别方法及装置 | |
CN111461207B (zh) | 一种图片识别模型训练系统及方法 | |
CN115713669A (zh) | 一种基于类间关系的图像分类方法、装置、存储介质及终端 | |
CN115578765A (zh) | 目标识别方法、装置、系统及计算机可读存储介质 | |
CN115083006A (zh) | 虹膜识别模型训练方法、虹膜识别方法及装置 | |
CN112288748B (zh) | 一种语义分割网络训练、图像语义分割方法及装置 | |
CN114677535A (zh) | 域适应图像分类网络的训练方法、图像分类方法及装置 | |
CN113762382B (zh) | 模型的训练及场景识别方法、装置、设备及介质 | |
CN113378914B (zh) | 虚假关联性去除方法及装置 | |
CN114663965B (zh) | 一种基于双阶段交替学习的人证比对方法和装置 | |
CN114065867B (zh) | 一种数据分类方法、系统及电子设备 | |
CN113782033B (zh) | 一种声纹识别方法、装置、设备及存储介质 | |
CN116863494A (zh) | 扭曲文档的识别方法以及装置、存储介质、计算机设备 | |
CN115375528A (zh) | 隐写信息的识别方法、装置及电子设备 | |
CN116486206A (zh) | 基于模型优化的数据处理方法、装置、计算机设备及介质 | |
CN116561630A (zh) | 模型训练方法、软件检测方法及装置 | |
CN117786690A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |