掌桥专利:专业的专利平台
掌桥专利
首页

图片、信息分类模型生成方法、装置、设备及存储介质

文献发布时间:2023-06-19 19:23:34


图片、信息分类模型生成方法、装置、设备及存储介质

技术领域

本公开涉及计算机技术领域,尤其涉及一种图片、信息分类模型生成方法、装置、设备及存储介质。

背景技术

业务应用通常需要依赖于业务分类模型的支持,比如,针对图片的分类模型、针对文本的分类模型和针对视频的分类模型等,这些业务分类模型中普遍存在浮点型参数,这很可能导致该业务分类模型的运行需要消耗大量的时间、计算资源和存储资源。

为了降低业务分类模型的运行消耗,从而提升业务应用实施速度,减少业务应用的运行负载,相关技术提出可以对业务分类模型进行量化,但是,对于业务分类模型的量化处理往往较多的依赖于算法工程师的经验,量化质量和量化效果均难以保证,从而影响到业务应用的运行速度和实施效果。

发明内容

本公开提供一种图片、信息分类模型生成方法、装置、设备及存储介质,可以保证对模型进行量化处理的量化效果,能够在不影响业务应用的实施效果的同时提升业务应用的运行速度。

本公开实施例的技术方案如下:

根据本公开实施例的第一方面,提供一种图片分类模型生成方法,包括:获取用于确定待分类图片的分类结果的初始分类模型;初始分类模型包括m个算子;任一算子用于针对待分类图片进行与图片分类关联的分类处理;m为正整数;根据各算子关联的分类处理的运算顺序和类型,确定各算子关联的分类处理对于待分类图片的分类结果的影响程度等级;按照各算子对应的影响程度等级从低到高的顺序依次对各算子执行量化判定操作,得到至少一个目标算子;量化判定操作用于将量化后所得分类模型满足第一预设条件的算子确定为目标算子;对初始分类模型中的至少一个目标算子进行量化,生成用于确定待分类图片的分类结果的目标分类模型。

可选地,初始分类模型包括n个结构块;每个结构块包括至少一个算子;任一结构块用于针对待分类图片进行与图片分类关联的分类处理;n为小于m的正整数;根据各算子关联的分类处理的运算顺序和类型,确定各算子关联的分类处理对于待分类图片的分类结果的影响程度等级的具体方法,包括:确定n个结构块关联的分类处理的运算顺序;按照第一预设规则确定n个结构块关联的分类处理对于待分类图片的分类结果的影响程度等级;确定各结构块中至少一个算子关联的分类处理的运算顺序;按照第二预设规则确定各结构块中至少一个算子关联的分类处理对于待分类图片的分类结果的影响程度等级;根据n个结构块对应的影响程度等级和各结构块中至少一个算子对应的影响程度等级,确定各算子对应的影响程度等级。

可选地,第一预设规则包括:当n个结构块中的第一结构块和第二结构块均是预设类型结构块、且第一结构块的运算顺序位于第二结构块的运算顺序之前时,或者,当第一结构块是预设类型结构块、且第二结构块不是预设类型结构块时,或者,当第一结构块和第二结构块均不是预设类型结构块、且第一结构块的运算顺序位于第二结构块的运算顺序之前时,确定第一结构块的影响程度等级低于第二结构块;预设类型结构块为包括预设类型算子的结构块;预设类型算子为具备归一化功能的算子;第一结构块为n个结构块中的任意一个结构块;第二结构块为n个结构块中除第一结构块以外的任意一个结构块。

可选地,第二预设规则包括:当结构块中的第一算子的后一个算子和第二算子的后一个算子均是预设类型算子、且第一算子的运算顺序位于第二算子的运算顺序之前时,或者,当第一算子的后一个算子是预设类型算子、且第二算子的后一个算子不是预设类型算子时,或者,当第一算子的后一个算子和第二算子的后一个算子均不是预设类型算子、且第一算子的运算顺序位于第二算子的运算顺序之前时,确定第一算子的影响程度等级低于第二算子;第一算子为结构块中的任意一个算子;第二算子为结构块中除第一算子以外的任意一个结构块。

可选地,按照各算子对应的影响程度等级从低到高的顺序依次对各算子执行量化判定操作,得到至少一个目标算子的具体方法,包括:对当前算子集合中的每个算子进行量化,得到当前分类模型;当前算子集合包括:各算子对应的影响程度等级从低到高的顺序中的第i个算子和前i-1个算子中的目标算子;i为小于或等于m的正整数;当前分类模型为第i个算子对应的量化后所得模型;当当前分类模型符合第一预设条件时,将第i个算子确定为目标算子,并更新i的取值;第一预设条件包括:当前分类模型确定到的待分类图片的分类结果和初始分类模型确定到的待分类图片的分类结果之间的相对差距小于或等于预设阈值、且当前分类模型确定到分类结果的运行耗时小于当前时长阈值;当前时长阈值为量化当前算子集合中的每个目标算子后所得分类模型确定到分类结果的运行耗时;当当前分类模型不符合第一预设条件时,更新i的取值;重复对当前算子集合中的每个算子进行量化,直至i大于m时,得到至少一个目标算子。

可选地,对当前算子集合中的每个算子进行量化,得到当前分类模型的具体方法,包括:根据当前算子集合中每个目标算子对应的目标量化算法,对每个目标算子进行量化,得到第一模型;基于第一模型,根据多个预设量化算法分别对第i个算子进行量化,得到与多个预设量化算法一一对应的多个第二模型;将多个第二模型中符合第二预设条件的第二模型,确定为当前分类模型。

可选地,该图片分类模型生成方法,还包括:将符合第二预设条件的第二模型对应的预设量化算法,确定为第i个算子对应的目标量化算法。

可选地,对初始分类模型中的至少一个目标算子进行量化,生成用于确定待分类图片的分类结果的目标分类模型的具体方法,包括:根据各个目标算子对应的目标量化算法,对各个目标算子进行量化,生成目标分类模型。

可选地,第二预设条件包括:第二模型确定到的待分类图片的分类结果和初始分类模型确定到的待分类图片的分类结果之间的相对差距小于或等于预设阈值、且第二模型确定到分类结果的运行耗时小于或等于预设时长阈值;将多个第二模型中符合第二预设条件的第二模型确定为当前分类模型的具体方法,包括:基于第二模型对待分类图片进行分类,得到第二模型的运行信息;运行信息包括第二模型确定到的待分类图片的分类结果和第二模型确定到分类结果的运行耗时;当第二模型确定到的待分类图片的分类结果和初始分类模型确定到的待分类图片的分类结果之间的相对差距小于或等于预设阈值、且第二模型确定到分类结果的运行耗时小于或等于预设时长阈值时,确定第二模型为当前分类模型。

根据本公开实施例的第二方面,提供一种信息分类模型生成方法,包括:获取用于确定待分类信息的分类结果的初始分类模型;初始分类模型包括m个算子;任一算子用于针对待分类信息进行与信息分类关联的分类处理;m为正整数;根据各算子关联的分类处理的运算顺序和类型,确定各算子关联的分类处理对于待分类信息的分类结果的影响程度等级;按照各算子对应的影响程度等级从低到高的顺序依次对各算子执行量化判定操作,得到至少一个目标算子;量化判定操作用于将量化后所得分类模型满足第一预设条件的算子确定为目标算子;对初始分类模型中的至少一个目标算子进行量化,生成用于确定待分类信息的分类结果的目标分类模型。

可选地,初始分类模型包括n个结构块;每个结构块包括至少一个算子;任一结构块用于针对待分类信息进行与信息分类关联的分类处理;n为小于m的正整数;根据各算子关联的分类处理的运算顺序和类型,确定各算子关联的分类处理对于待分类信息的分类结果的影响程度等级的具体方法,包括:确定n个结构块关联的分类处理的运算顺序;按照第一预设规则确定n个结构块关联的分类处理对于待分类信息的分类结果的影响程度等级;确定各结构块中至少一个算子关联的分类处理的运算顺序;按照第二预设规则确定各结构块中至少一个算子关联的分类处理对于待分类信息的分类结果的影响程度等级;根据n个结构块对应的影响程度等级和各结构块中至少一个算子对应的影响程度等级,确定各算子对应的影响程度等级。

可选地,第一预设规则包括:当n个结构块中的第一结构块和第二结构块均是预设类型结构块、且第一结构块的运算顺序位于第二结构块的运算顺序之前时,或者,当第一结构块是预设类型结构块、且第二结构块不是预设类型结构块时,或者,当第一结构块和第二结构块均不是预设类型结构块、且第一结构块的运算顺序位于第二结构块的运算顺序之前时,确定第一结构块的影响程度等级低于第二结构块;预设类型结构块为包括预设类型算子的结构块;预设类型算子为具备归一化功能的算子;第一结构块为n个结构块中的任意一个结构块;第二结构块为n个结构块中除第一结构块以外的任意一个结构块。

可选地,第二预设规则包括:当结构块中的第一算子的后一个算子和第二算子的后一个算子均是预设类型算子、且第一算子的运算顺序位于第二算子的运算顺序之前时,或者,当第一算子的后一个算子是预设类型算子、且第二算子的后一个算子不是预设类型算子时,或者,当第一算子的后一个算子和第二算子的后一个算子均不是预设类型算子、且第一算子的运算顺序位于第二算子的运算顺序之前时,确定第一算子的影响程度等级低于第二算子;第一算子为结构块中的任意一个算子;第二算子为结构块中除第一算子以外的任意一个结构块。

可选地,按照各算子对应的影响程度等级从低到高的顺序依次对各算子执行量化判定操作,得到至少一个目标算子的具体方法,包括:对当前算子集合中的每个算子进行量化,得到当前分类模型;当前算子集合包括:各算子对应的影响程度等级从低到高的顺序中的第i个算子和前i-1个算子中的目标算子;i为小于或等于m的正整数;当前分类模型为第i个算子对应的量化后所得模型;当当前分类模型符合第一预设条件时,将第i个算子确定为目标算子,并更新i的取值;第一预设条件包括:当前分类模型确定到的待分类信息的分类结果和初始分类模型确定到的待分类信息的分类结果之间的相对差距小于或等于预设阈值、且当前分类模型确定到分类结果的运行耗时小于当前时长阈值;当前时长阈值为量化当前算子集合中的每个目标算子后所得分类模型确定到分类结果的运行耗时;当当前分类模型不符合第一预设条件时,更新i的取值;重复对当前算子集合中的每个算子进行量化,直至i大于m时,得到至少一个目标算子。

可选地,对当前算子集合中的每个算子进行量化,得到当前分类模型的具体方法,包括:根据当前算子集合中每个目标算子对应的目标量化算法,对每个目标算子进行量化,得到第一模型;基于第一模型,根据多个预设量化算法分别对第i个算子进行量化,得到与多个预设量化算法一一对应的多个第二模型;将多个第二模型中符合第二预设条件的第二模型,确定为当前分类模型。

可选地,该信息分类模型生成方法,还包括:将符合第二预设条件的第二模型对应的预设量化算法,确定为第i个算子对应的目标量化算法。

可选地,对初始分类模型中的至少一个目标算子进行量化,生成用于确定待分类信息的分类结果的目标分类模型的具体方法,包括:根据各个目标算子对应的目标量化算法,对各个目标算子进行量化,生成目标分类模型。

可选地,第二预设条件包括:第二模型确定到的待分类信息的分类结果和初始分类模型确定到的待分类信息的分类结果之间的相对差距小于或等于预设阈值、且第二模型确定到分类结果的运行耗时小于或等于预设时长阈值;将多个第二模型中符合第二预设条件的第二模型确定为当前分类模型的具体方法,包括:基于第二模型对待分类信息进行分类,得到第二模型的运行信息;运行信息包括第二模型确定到的待分类信息的分类结果和第二模型确定到分类结果的运行耗时;当第二模型确定到的待分类信息的分类结果和初始分类模型确定到的待分类信息的分类结果之间的相对差距小于或等于预设阈值、且第二模型确定到分类结果的运行耗时小于或等于预设时长阈值时,确定第二模型为当前分类模型。

根据本公开实施例的第三方面,提供一种图片分类模型生成装置,包括:获取单元、确定单元和处理单元;获取单元,被配置为获取用于确定待分类图片的分类结果的初始分类模型;初始分类模型包括m个算子;任一算子用于针对待分类图片进行与图片分类关联的分类处理;m为正整数;确定单元,被配置为根据各算子关联的分类处理的运算顺序和类型,确定各算子关联的分类处理对于待分类图片的分类结果的影响程度等级;处理单元,被配置为按照各算子对应的影响程度等级从低到高的顺序依次对各算子执行量化判定操作,得到至少一个目标算子;量化判定操作用于将量化后所得分类模型满足第一预设条件的算子确定为目标算子;处理单元,还被配置为对初始分类模型中的至少一个目标算子进行量化,生成用于确定待分类图片的分类结果的目标分类模型。

可选地,初始分类模型包括n个结构块;每个结构块包括至少一个算子;任一结构块用于针对待分类图片进行与图片分类关联的分类处理;n为小于m的正整数;确定单元,具体被配置为:确定n个结构块关联的分类处理的运算顺序;按照第一预设规则确定n个结构块关联的分类处理对于待分类图片的分类结果的影响程度等级;确定各结构块中至少一个算子关联的分类处理的运算顺序;按照第二预设规则确定各结构块中至少一个算子关联的分类处理对于待分类图片的分类结果的影响程度等级;根据n个结构块对应的影响程度等级和各结构块中至少一个算子对应的影响程度等级,确定各算子对应的影响程度等级。

可选地,第一预设规则包括:当n个结构块中的第一结构块和第二结构块均是预设类型结构块、且第一结构块的运算顺序位于第二结构块的运算顺序之前时,或者,当第一结构块是预设类型结构块、且第二结构块不是预设类型结构块时,或者,当第一结构块和第二结构块均不是预设类型结构块、且第一结构块的运算顺序位于第二结构块的运算顺序之前时,确定第一结构块的影响程度等级低于第二结构块;预设类型结构块为包括预设类型算子的结构块;预设类型算子为具备归一化功能的算子;第一结构块为n个结构块中的任意一个结构块;第二结构块为n个结构块中除第一结构块以外的任意一个结构块。

可选地,第二预设规则包括:当结构块中的第一算子的后一个算子和第二算子的后一个算子均是预设类型算子、且第一算子的运算顺序位于第二算子的运算顺序之前时,或者,当第一算子的后一个算子是预设类型算子、且第二算子的后一个算子不是预设类型算子时,或者,当第一算子的后一个算子和第二算子的后一个算子均不是预设类型算子、且第一算子的运算顺序位于第二算子的运算顺序之前时,确定第一算子的影响程度等级低于第二算子;第一算子为结构块中的任意一个算子;第二算子为结构块中除第一算子以外的任意一个结构块。

可选地,处理单元,具体被配置为:对当前算子集合中的每个算子进行量化,得到当前分类模型;当前算子集合包括:各算子对应的影响程度等级从低到高的顺序中的第i个算子和前i-1个算子中的目标算子;i为小于或等于m的正整数;当前分类模型为第i个算子对应的量化后所得模型;当当前分类模型符合第一预设条件时,将第i个算子确定为目标算子,并更新i的取值;第一预设条件包括:当前分类模型确定到的待分类图片的分类结果和初始分类模型确定到的待分类图片的分类结果之间的相对差距小于或等于预设阈值、且当前分类模型确定到分类结果的运行耗时小于当前时长阈值;当前时长阈值为量化当前算子集合中的每个目标算子后所得分类模型确定到分类结果的运行耗时;当当前分类模型不符合第一预设条件时,更新i的取值;重复对当前算子集合中的每个算子进行量化,直至i大于m时,得到至少一个目标算子。

可选地,处理单元,具体被配置为:根据当前算子集合中每个目标算子对应的目标量化算法,对每个目标算子进行量化,得到第一模型;基于第一模型,根据多个预设量化算法分别对第i个算子进行量化,得到与多个预设量化算法一一对应的多个第二模型;将多个第二模型中符合第二预设条件的第二模型,确定为当前分类模型。

可选地,确定单元,还被配置为将符合第二预设条件的第二模型对应的预设量化算法,确定为第i个算子对应的目标量化算法。

可选地,处理单元,具体被配置为:根据各个目标算子对应的目标量化算法,对各个目标算子进行量化,生成目标分类模型。

可选地,第二预设条件包括:第二模型确定到的待分类图片的分类结果和初始分类模型确定到的待分类图片的分类结果之间的相对差距小于或等于预设阈值、且第二模型确定到分类结果的运行耗时小于或等于预设时长阈值;处理单元,具体被配置为:基于第二模型对待分类图片进行分类,得到第二模型的运行信息;运行信息包括第二模型确定到的待分类图片的分类结果和第二模型确定到分类结果的运行耗时;当第二模型确定到的待分类图片的分类结果和初始分类模型确定到的待分类图片的分类结果之间的相对差距小于或等于预设阈值、且第二模型确定到分类结果的运行耗时小于或等于预设时长阈值时,确定第二模型为当前分类模型。

根据本公开实施例的第四方面,提供一种信息分类模型生成装置,包括:获取单元、确定单元和处理单元;获取单元,被配置为获取用于确定待分类信息的分类结果的初始分类模型;初始分类模型包括m个算子;任一算子用于针对待分类信息进行与信息分类关联的分类处理;m为正整数;确定单元,被配置为根据各算子关联的分类处理的运算顺序和类型,确定各算子关联的分类处理对于待分类信息的分类结果的影响程度等级;处理单元,被配置为按照各算子对应的影响程度等级从低到高的顺序依次对各算子执行量化判定操作,得到至少一个目标算子;量化判定操作用于将量化后所得分类模型满足第一预设条件的算子确定为目标算子;处理单元,还被配置为对初始分类模型中的至少一个目标算子进行量化,生成用于确定待分类信息的分类结果的目标分类模型。

可选地,初始分类模型包括n个结构块;每个结构块包括至少一个算子;任一结构块用于针对待分类信息进行与信息分类关联的分类处理;n为小于m的正整数;确定单元,具体被配置为:确定n个结构块关联的分类处理的运算顺序;按照第一预设规则确定n个结构块关联的分类处理对于待分类信息的分类结果的影响程度等级;确定各结构块中至少一个算子关联的分类处理的运算顺序;按照第二预设规则确定各结构块中至少一个算子关联的分类处理对于待分类信息的分类结果的影响程度等级;根据n个结构块对应的影响程度等级和各结构块中至少一个算子对应的影响程度等级,确定各算子对应的影响程度等级。

可选地,第一预设规则包括:当n个结构块中的第一结构块和第二结构块均是预设类型结构块、且第一结构块的运算顺序位于第二结构块的运算顺序之前时,或者,当第一结构块是预设类型结构块、且第二结构块不是预设类型结构块时,或者,当第一结构块和第二结构块均不是预设类型结构块、且第一结构块的运算顺序位于第二结构块的运算顺序之前时,确定第一结构块的影响程度等级低于第二结构块;预设类型结构块为包括预设类型算子的结构块;预设类型算子为具备归一化功能的算子;第一结构块为n个结构块中的任意一个结构块;第二结构块为n个结构块中除第一结构块以外的任意一个结构块。

可选地,第二预设规则包括:当结构块中的第一算子的后一个算子和第二算子的后一个算子均是预设类型算子、且第一算子的运算顺序位于第二算子的运算顺序之前时,或者,当第一算子的后一个算子是预设类型算子、且第二算子的后一个算子不是预设类型算子时,或者,当第一算子的后一个算子和第二算子的后一个算子均不是预设类型算子、且第一算子的运算顺序位于第二算子的运算顺序之前时,确定第一算子的影响程度等级低于第二算子;第一算子为结构块中的任意一个算子;第二算子为结构块中除第一算子以外的任意一个结构块。

可选地,处理单元,具体被配置为:对当前算子集合中的每个算子进行量化,得到当前分类模型;当前算子集合包括:各算子对应的影响程度等级从低到高的顺序中的第i个算子和前i-1个算子中的目标算子;i为小于或等于m的正整数;当前分类模型为第i个算子对应的量化后所得模型;当当前分类模型符合第一预设条件时,将第i个算子确定为目标算子,并更新i的取值;第一预设条件包括:当前分类模型确定到的待分类信息的分类结果和初始分类模型确定到的待分类信息的分类结果之间的相对差距小于或等于预设阈值、且当前分类模型确定到分类结果的运行耗时小于当前时长阈值;当前时长阈值为量化当前算子集合中的每个目标算子后所得分类模型确定到分类结果的运行耗时;当当前分类模型不符合第一预设条件时,更新i的取值;重复对当前算子集合中的每个算子进行量化,直至i大于m时,得到至少一个目标算子。

可选地,处理单元,具体被配置为:根据当前算子集合中每个目标算子对应的目标量化算法,对每个目标算子进行量化,得到第一模型;基于第一模型,根据多个预设量化算法分别对第i个算子进行量化,得到与多个预设量化算法一一对应的多个第二模型;将多个第二模型中符合第二预设条件的第二模型,确定为当前分类模型。

可选地,确定单元,还被配置为将符合第二预设条件的第二模型对应的预设量化算法,确定为第i个算子对应的目标量化算法。

可选地,处理单元,具体被配置为:根据各个目标算子对应的目标量化算法,对各个目标算子进行量化,生成目标分类模型。

可选地,第二预设条件包括:第二模型确定到的待分类信息的分类结果和初始分类模型确定到的待分类信息的分类结果之间的相对差距小于或等于预设阈值、且第二模型确定到分类结果的运行耗时小于或等于预设时长阈值;处理单元,具体被配置为:基于第二模型对待分类信息进行分类,得到第二模型的运行信息;运行信息包括第二模型确定到的待分类信息的分类结果和第二模型确定到分类结果的运行耗时;当第二模型确定到的待分类信息的分类结果和初始分类模型确定到的待分类信息的分类结果之间的相对差距小于或等于预设阈值、且第二模型确定到分类结果的运行耗时小于或等于预设时长阈值时,确定第二模型为当前分类模型。

根据本公开实施例的第五方面,提供一种电子设备,可以包括:处理器和用于存储处理器可执行指令的存储器;其中,处理器被配置为执行所述指令,以实现上述第一方面中任一种可选地图片分类模型生成方法或者上述第二方面中任一种可选地信息分类模型生成方法。

根据本公开实施例的第六方面,提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行上述第一方面中任一种可选地图片分类模型生成方法或者上述第二方面中任一种可选地信息分类模型生成方法。

根据本公开实施例的第七方面,提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在电子设备上的处理器运行时,使得电子设备执行如第一方面中任一种可选地的图片分类模型生成方法或者上述第二方面中任一种可选地信息分类模型生成方法。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

本公开的实施例提供的技术方案至少带来以下有益效果:

基于上述任一方面,本公开提供的图片分类模型生成方法中,在获取用于确定待分类图片的分类结果的初始分类模型后,可以根据初始分类模型中的各算子关联的分类处理的运算顺序和类型,确定各算子关联的分类处理对于待分类图片的分类结果的影响程度等级,并进一步按照各算子对应的影响程度等级从低到高的顺序依次对各算子执行量化判定操作,得到至少一个目标算子,从而对初始分类模型中的各个目标算子进行量化生成目标分类模型。

由于初始分类模型中的m个算子对于待分类图片的分类结果的影响程度等级不同,因此,各算子被量化后对初始分类模型的精度影响往往也不同。基于此,本公开在先确定初始分类模型中每一算子关联的分类处理对于待分类图片的分类结果的影响程度等级后,可以按照各算子对应的影响程度等级从低到高的顺序在m个算子中选取尽可能多的目标算子,从而可以进一步对多个目标算子进行量化,生成目标分类模型。相比于通用技术依赖于人工凭经验选择部分参数进行量化的方式,本公开通过电子设备按照影响程度等级逐一判定的方式对模型进行量化,不仅可以节约人效,且可以保证对初始分类模型中尽可能多的算子进行量化得到目标分类模型,从而能够在不影响业务应用的实施效果的同时提升业务应用的运行速度。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1示出了本公开实施例提供的一种图片分类模型生成系统的结构示意图;

图2示出了本公开实施例提供的一种终端的结构示意图;

图3示出了本公开实施例提供的一种图片分类模型生成方法的流程示意图;

图4示出了本公开实施例提供的又一种图片分类模型生成方法的流程示意图;

图5示出了本公开实施例提供的又一种图片分类模型生成方法的流程示意图;

图6示出了本公开实施例提供的又一种图片分类模型生成方法的流程示意图;

图7示出了本公开实施例提供的又一种图片分类模型生成方法的流程示意图;

图8示出了本公开实施例提供的又一种图片分类模型生成方法的流程示意图;

图9示出了本公开实施例提供的又一种图片分类模型生成方法的流程示意图;

图10示出了本公开实施例提供的又一种图片分类模型生成方法的流程示意图;

图11示出了本公开实施例提供的一种信息分类模型生成方法的流程示意图;

图12示出了本公开实施例提供的又一种信息分类模型生成方法的流程示意图;

图13示出了本公开实施例提供的又一种信息分类模型生成方法的流程示意图;

图14示出了本公开实施例提供的又一种信息分类模型生成方法的流程示意图;

图15示出了本公开实施例提供的又一种信息分类模型生成方法的流程示意图;

图16示出了本公开实施例提供的又一种信息分类模型生成方法的流程示意图;

图17示出了本公开实施例提供的又一种信息分类模型生成方法的流程示意图;

图18示出了本公开实施例提供的一种图片分类模型生成装置的结构示意图;

图19示出了本公开实施例提供的一种信息分类模型生成装置的结构示意图;

图20示出了本公开实施例提供的又一种终端的结构示意图;

图21示出了本公开实施例提供的一种服务器的结构示意图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

还应当理解的是,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素和/或组件的存在或添加。

本公开所涉及的数据可以为经用户授权或者经过各方充分授权的数据。

以下,对本公开实施例涉及到的相关概念进行解释,以便于理解。

1、AI模型

AI模型是利用机器学习实现AI的各种应用时所用到的数学模型(例如:神经网络(neural network)模型),可以用于生物、医疗、交通等多个应用场景,例如:当目标事件为预测细胞系对药物的敏感程度时,可以将细胞系的基因突变数据和基因表达数据等多类数据输入至AI模型,以使用该AI模型预测该细胞系对药物的敏感程度等。

AI模型本质是一种算法,其包括大量的参数和计算公式(或计算规则)。其中,AI模型包括的大量参数通常为浮点型数据。

AI模型通常可以看作是由多个结构块(block)组成的。在构建AI模型时,通常可以采用卷积神经网络(convolutional neural networks,CNN)结构和transformer结构等类型的结构。例如,transformer结构通常是由12个结构块组成的。并且,矩阵乘(generalmatrix multiplication,GEMM)运算是AI模型对数据进行处理的主要计算方式。

对AI模型中的浮点型数据进行量化,即将浮点型数据量化为定点型数据。

AI模型的量化效果往往受到模型本身的结构和参数的数据类型,以及所部署GPU等协处理器的软硬件特性等复杂因素的影响。

2、结构块。

结构块是由用于实现卷积操作和池化操作等基本操作的算子(operator)组成的单元。多个结构块可以按照一定的计算逻辑组成一个AI模型。

3、算子

算子是一个函数空间到另一个函数空间上的映射,用于实现对数据的卷积操作和池化操作等基本操作。AI模型所包括的参数和计算公式,具体是部署在组成AI模型的多个算子中的。也就是说,算子是由参数和计算公式组成的。

目前,为了减轻微处理器的特定处理任务负担,通常可以为微处理器配置异构处理单元。异构处理单元可以为协处理器。协处理器可以是用于处理特定算法或逻辑运算的硬件电路模块,可以将其理解为一个特殊的加速器。并且,为了实现更快的计算速度,协处理器通常可以基于单指令多数据流(single instruction multiple data,SIMD)技术处理特定算法或逻辑运算。

在处理不同的场景需求时,往往可以选择不同类型的协处理器。例如,数学协处理器(math co-processor)可以控制数字处理,以及图形处理器(graphics processingunit,GPU)可以处理视频绘制等。并且,为了提高协处理器处理业务时的计算速度和精度等性能,通常可以在协处理器上部署业务分类模型,即具备业务分类功能的AI模型。比如,针对图片的业务分类模型、针对文本的业务分类模型和针对视频的业务分类模型,这些业务分类模型中普遍存在浮点型参数,这很可能导致该业务分类模型的运行需要消耗大量的时间、计算资源和存储资源。

通用技术中,为了降低业务分类模型的运行消耗,从而提升业务应用实施速度,减少业务应用的运行负载,提出可以对业务分类模型进行量化,但是,对于业务分类模型的量化处理往往较多的依赖于算法工程师的经验,量化质量和量化效果均难以保证,从而影响到业务应用的运行速度和实施效果。

为了解决上述问题,本公开实施例提供一种图片分类模型生成方法,电子设备在获取用于确定待分类图片的分类结果的初始分类模型后,可以根据初始分类模型中的各算子关联的分类处理的运算顺序和类型,确定各算子关联的分类处理对于待分类图片的分类结果的影响程度等级,并进一步按照各算子对应的影响程度等级从低到高的顺序依次对各算子执行量化判定操作,得到至少一个目标算子,从而对初始分类模型中的各个目标算子进行量化生成目标分类模型。

由于初始分类模型中的m个算子对于待分类图片的分类结果的影响程度等级不同,因此,各算子被量化后对初始分类模型的精度影响往往也不同。基于此,本公开在先确定初始分类模型中每一算子关联的分类处理对于待分类图片的分类结果的影响程度等级后,可以按照各算子对应的影响程度等级从低到高的顺序在m个算子中选取尽可能多的目标算子,从而可以进一步对多个目标算子进行量化,生成目标分类模型。相比于通用技术依赖于人工凭经验选择部分参数进行量化的方式,本公开通过电子设备按照影响程度等级逐一判定的方式对模型进行量化,不仅可以节约人效,且可以保证对初始分类模型中尽可能多的算子进行量化得到目标分类模型,从而能够在不影响业务应用的实施效果的同时提升业务应用的运行速度。

需要说明的是,在对模型进行量化时,通常可以采取训练后的量化(posttraining quantization,PTQ)和训练中引入量化(quantization-aware training,QAT)两种方式。采取PTQ方式时,对多种类型的模型均可以通过自动调用的forward方法实现,对模型进行量化的速度更快。而采取QAT方式时,需要对模型进行多次训练,对模型进行量化的周期较长,且存在训练不收敛的可能性。本公开提供的图片分类模型生成方法,采取的方式为PTQ方式,适用于多种类型的模型,即对模型的应用场景不敏感,通用性好,且可以避免对模型进行多次训练带来的额外计算量或内存占用量等问题。

图1为本公开实施例提供的一种图片分类模型生成系统示意图,如图1所示,该图片分类模型生成系统可以包括:电子设备101和终端102,电子设备101可以通过有线网络或无线网络与终端102之间建立连接。

本公开中,电子设备101主要用于存储对图片分类模型或者信息分类模型进行量化所需的资源文件,例如:包括第一排序规则、第二排序规则、第一预设条件和第二预设条件等的资源文件,以及包括用于执行量化判定操作的服务的资源文件。电子设备101可以在接收到终端102发送的包括初始分类模型的模型量化请求时,对初始分类模型进行量化以得到目标分类模型,并将目标分类模型发送给终端102。

一种可以实现的方式中,终端102可以用于构建初始分类模型。

一些实施例中,电子设备101还可以包含有数据库或与数据库连接,对模型进行量化所需的资源文件可以存储于数据库中。在需要对初始分类模型量化时,电子设备101可以调用数据库中的存储的资源文件。

电子设备101可以是服务器,也可以是终端,还可以是其他用于进行文本处理的电子设备,本公开对此不作限定。

当电子设备101为服务器时,电子设备101可以是单独的一个服务器,或者,也可以是由多个服务器构成的服务器集群。部分实施方式中,服务器集群还可以是分布式集群。本公开对服务器的具体实现方式也不作限制。

当电子设备101为终端时,电子设备101和终端102可以是两个独立的终端,也可以集成于同一终端,本公开对此不作具体限定。

容易理解的是,当电子设备101和终端102集成于同一终端时,电子设备101和终端102之间的通信方式为该终端内部模块之间的通信。这种情况下,二者之间的通信流程与“电子设备101和终端102相互独立的情况下,二者之间的通信流程”相同。

为了便于理解,本公开主要以电子设备101和终端102独立设置为例进行说明。

上述终端102可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备等可以安装并使用内容社区应用的设备,本公开对该终端的具体形态不作特殊限制。其可以与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互。

可选地,上述图1所示的文本处理系统中,电子设备101可以与至少一个终端102连接。本公开对终端102的数量及类型均不作限制。

结合图1,如图2所示,为本公开实施例提供的一种终端102的结构示意图。终端102可以配置有输入模块21、通信模块22和存储模块23。其中,输入模块21可以是鼠标和键盘等计算机外接输入设备,也可以是触摸屏,主要用于工作人员执行实现特定功能(例如模型文件发送功能)的点击操作等操作。通信模块22可以是任何收发器一类的装置,用于与其他设备(例如电子设备101)或通信网络通信。例如,通信模块22可以向电子设备101发送初始分类模型的模型文件。存储模块23可以是存储器一类的装置,可以用于存储初始分类模型的模型文件等资源文件。

本公开实施例提供的图片分类模型生成方法可以应用于前述图1所示的应用场景中的电子设备101。

下面结合附图对本公开实施例提供的图片分类模型生成方法进行详细介绍。

如图3所示,当图片分类模型生成方法应用于电子设备时,该图片分类模型生成方法可以包括:S301-S304。

S301、电子设备获取用于确定待分类图片的分类结果的初始分类模型。

其中,初始分类模型包括m个算子。任一算子用于针对待分类图片进行与图片分类关联的分类处理。m为正整数。

一种可能的方式中,待分类图片可以是含有特定元素(例如人脸、动物和植物等)的图片,也可以是具备特定特征(例如色彩特征、轮廓特征和风格特征等)的图片。相应的,初始分类模型可以是基于待分类图片中的特定元素对待分类图片进行分类的AI模型,也可以是基于待分类图片具备的特定特征对待分类图片进行分类的AI模型。例如,在待分类图片含有的特定元素为狮子时,初始分类模型可以确定待分类图片的分类结果为狮子类图片。在待分类图片具备的色彩特征为黑白颜色时,初始分类模型可以确定待分类图片的分类结果为黑白类图片。

一种可能的方式中,算子针对待分类图片进行的与图片分类关联的分类处理可以是去噪处理、变换处理和平滑处理等类型的处理。

需要说明的是,初始分类模型在对待分类图片进行分类时,通常需要对该待分类图片进行去噪、变换和平滑,以及特征抽取和特征选择等多种类型的与图片分类关联的分类处理,以确定待分类图片的分类结果。

应理解,初始分类模型在完成关于待分类图片的多种分类处理时,是通过组成初始分类模型的m个算子实现的,且整个处理过程需要一定的处理时间。进一步地,这m个算子中的每个算子是由参数和计算公式组成的。并且,为了提高算子的计算精度,组成算子的参数一般为浮点型数据。然而,一个参数为浮点型数据的算子和一个参数为定点型数据的算子在完成一次相同的分类处理时,参数为浮点型数据的算子所需要的时间会明显大于参数为定点型数据的算子。基于此,为了提升初始分类模型的运行速度,可以考虑对初始分类模型进行量化,即将初始分类模型中组成m个算子的多个参数由浮点型数据量化为定点型数据。

一种可以实现的方式中,工作人员在将用于确定待分类图片的分类结果的初始分类模型部署到处理器上时,为了提升初始分类模型的运行速度,以降低初始分类模型对于处理器上存储资源和计算资源等资源的占用,可以先通过电子设备对初始分类模型进行量化。

具体而言,结合图2,工作人员可以通过终端配置的输入模块,执行指向于电子设备的文件发送操作(例如点击发送按钮),以向电子设备发送存储在终端的存储模块中的初始分类模型的模型文件。响应于该文件发送操作,终端配置的通信模块可以向电子设备发送初始分类模型的模型文件。相应的,电子设备可以接收到来自于终端的初始分类模型的模型文件。接着,电子设备可以解析初始分类模型的模型文件,以得到初始分类模型中的m个算子。后续,电子设备可以对m个算子进行量化,以提升初始分类模型的运行速度。

S302、电子设备根据各算子关联的分类处理的运算顺序和类型,确定各算子关联的分类处理对于待分类图片的分类结果的影响程度等级。

需要说明的是,为了确定待分类图片的分类结果,组成初始分类模型的m个算子需要进行多种类型的分类处理。也就是说,m个算子的类型比较多样。例如,m个算子中可以包括用于实现卷积运算的卷积算子、用于实现归一化运算的归一化算子和用于实现池化运算的池化算子等算子。

进一步,由于不同类型的运算得到的运算结果,对于初始分类模型确定到的分类结果造成的影响程度往往不同。因此,不同类型算子的运算精度对于待分类图片的分类结果的影响程度往往不同。例如,卷积运算的运算精度对于待分类图片的分类结果的影响程度,一般要高于归一化运算的运算精度对于待分类图片的分类结果的影响程度。并且,运算顺序位于特定类型算子之前与位于特定类型算子之后时,对于待分类图片的分类结果的影响程度往往也不同。例如,当一个算子位于归一化算子之前时,由于归一化算子会对该一个算子的运算结果进行归一化运算,因此,该一个算子位于归一化算子之前时的运算精度对于待分类图片的分类结果的影响程度,一般要低于该一个算子位于归一化算子之后时的运算精度对于待分类图片的分类结果的影响程度。

基于此,为了在提升初始分类模型的运行速度的同时,保证初始分类模型的实施效果,电子设备可以先确定m个算子中每个算子关联的分类处理对于待分类图片的分类结果的影响程度等级,再优先选择对于待分类图片的分类结果的影响程度较低的算子进行量化,以对m个算子中尽可能多的算子进行量化,从而更有效地提升初始分类模型的运行速度,保证对初始分类模型进行量化处理的量化效果。

一种可以实现的方式中,电子设备在获取到初始分类模型中的m个算子后,可以先确定m个算子中每个算子关联的分类处理的运算顺序和类型,再根据每个算子关联的分类处理的类型,确定各算子关联的分类处理对于待分类图片的分类结果的影响程度,并根据每个算子关联的分类处理的运算顺序对各算子进行排序,得到各算子关联的分类处理对于待分类图片的分类结果的影响程度等级。这样一来,电子设备可以按照各算子关联的分类处理对于待分类图片的分类结果的影响程度等级,优先对特定类型的算子进行量化,以对m个算子中更多的算子进行量化。

一种可能的示例中,预设初始分类模型包括5个算子,分别为算子a、算子b、算子c、算子d和算子e。其中,算子d和算子e为特定类型的算子。在不确定这5个算子对应的影响程度等级的情况下,电子设备可以依次对算子a、算子b、算子c、算子d和算子e进行量化。则在电子设备对初始分类模型进行量化的过程中,初始分类模型的精度可能在算子a和算子b被量化后满足精度要求,并接着在算子c被量化后不满足精度要求。这种情况下,电子设备仅能对初始分类模型中的算子a和算子b进行量化。

在确定这5个算子对应的影响程度等级的情况下,电子设备可以优先对算子d和算子e进行量化。则在电子设备对初始分类模型进行量化的过程中,初始分类模型的精度可能在算子d、算子e、算子a和算子b被量化后满足精度要求,并接着在算子c被量化后不满足精度要求。这种情况下,电子设备可以完成对于算子d、算子e、算子a和算子b四个算子的量化。可见,在确定组成初始分类模型的m个算子对应的影响程度等级后,电子设备可以对m个算子中尽可能多的算子进行量化。

S303、电子设备按照各算子对应的影响程度等级从低到高的顺序依次对各算子执行量化判定操作,得到至少一个目标算子。

一种可能的方式中,量化判定操作可以用于将量化后所得分类模型满足第一预设条件的算子确定为目标算子。目标算子可以是被量化后可以降低初始分类模型的运算耗时,且对初始分类模型的运算精度的影响程度较低的算子。

一种可能的方式中,第一预设条件可以包括量化后所得分类模型确定到的待分类图片的分类结果和初始分类模型确定到的待分类图片的分类结果之间的相对差距小于预设阈值、且量化后所得分类模型确定到分类结果的运行耗时小于初始分类模型确定到分类结果的运行耗时。其中,预设阈值可以由工作人员预先设置在电子设备中。

一种可以实现的方式中,在确定m个算子对应的影响程度等级后,电子设备可以按照各算子对应的影响程度等级从低到高的顺序依次对各算子执行量化判定操作,即优先对所关联的分类处理对于待分类图片的分类结果的影响程度较低的算子执行量化判定操作。具体而言,电子设备在按照各算子对应的影响程度等级选中一个算子后,可以对该选中算子进行量化。接着,电子设备可以用量化后的该选中算子,替换初始分类模型中量化前的该选中算子,以得到更新该选中算子后的初始分类模型,即量化后分类模型。接着,电子设备可以基于量化后分类模型确定待分类图片的分类结果,并测试量化后分类模型确定到分类结果的运行耗时,以确定量化后分类模型是否满足第一预设条件。

若确定量化后所得分类模型确定到的待分类图片的分类结果和初始分类模型确定到的待分类图片的分类结果之间的相对差距小于预设阈值、且量化后所得分类模型确定到分类结果的运行耗时小于初始分类模型确定到分类结果的运行耗时,则确定该选中算子为目标算子。接着,电子设备可以在更新该选中算子后的初始分类模型的基础上,选中各算子对应的影响程度等级中的后一个算子,并接着对选中的后一个算子执行量化判定操作。若否,则电子设备确定该选中算子不是目标算子。接着,电子设备可以在未更新该选中算子的初始分类模型的基础上,选中各算子对应的影响程度等级中的后一个算子,并接着对选中的后一个算子执行量化判定操作。以此类推,电子设备按照m个算子对应的影响程度等级对m个算子均执行量化判定操作后,可以得到至少一个目标算子。

S304、电子设备对初始分类模型中的至少一个目标算子进行量化,生成用于确定待分类图片的分类结果的目标分类模型。

一种可能的方式中,目标分类模型的运行耗时小于初始分类模型的运行耗时,并且目标分类模型输出的结果与初始分类模型输出的结果之间的相对差距小于或等于预设阈值。

一种可以实现的方式中,由于目标算子被量化后可以降低初始分类模型的运算耗时,且不影响初始分类模型的实施效果。因此,电子设备在得到至少一个目标算子后,可以对初始分类模型中的至少一个目标算子进行量化,生成目标分类模型。

一种可能的示例中,结合上述S302中的示例,在基于相同精度条件的前提下,预设电子设备在未确定各算子对应的影响程度等级时,可以依次对初始分类模型中的算子a和算子b进行量化后得到模型A。电子设备在确定各算子对应的影响程度等级时,可以先按照各算子对应的影响程度等级对各算子执行量化判断操作,并在得到算子d、算子e、算子a和算子b四个目标算子后,对初始分类模型中的算子d、算子e、算子a和算子b进行量化后得到模型B(即目标分类模型)。

当GPU1需要确定待分类图片1的分类结果时,在GPU1上部署有模型A的情况下,由于组成模型A的5个算子有3个未被量化,即5个算子中2个为基于定点型数据的算子,3个为基于浮点型数据的算子。因此,GPU1在调用模型A确定待分类图片1的分类结果时,需要运行2个基于定点型数据的算子和3个基于浮点型数据的算子。

在GPU1上部署有模型B(即目标分类模型)的情况下,由于组成模型B的5个算子仅有1个未被量化,即5个算子中4个为基于定点型数据的算子,1个为基于浮点型数据的算子。因此,GPU1在调用模型B确定待分类图片1的分类结果时,需要运行4个基于定点型数据的算子和1个基于浮点型数据的算子。

可见,与调用模型A确定待分类图片1的分类结果需要运行3个基于浮点型数据的算子相比,调用模型B(即目标分类模型)确定待分类图片1的分类结果仅需运行1个基于浮点型数据的算子。应理解,与基于浮点型数据的算子相比,基于定点型数据的算子所需要的运行时长会明显减少。因此,目标分类模型可以在保证精度的前提下,更快的对图片1进行处理。

上述实施例提供的技术方案至少带来以下有益效果:由S301-S304可知电子设备在获取用于确定待分类图片的分类结果的初始分类模型后,可以根据初始分类模型中的各算子关联的分类处理的运算顺序和类型,确定各算子关联的分类处理对于待分类图片的分类结果的影响程度等级,并进一步按照各算子对应的影响程度等级从低到高的顺序依次对各算子执行量化判定操作,得到至少一个目标算子,从而对初始分类模型中的各个目标算子进行量化生成目标分类模型。

由于初始分类模型中的m个算子对于待分类图片的分类结果的影响程度等级不同,因此,各算子被量化后对初始分类模型的精度影响往往也不同。基于此,本公开在先确定初始分类模型中每一算子关联的分类处理对于待分类图片的分类结果的影响程度等级后,可以按照各算子对应的影响程度等级从低到高的顺序在m个算子中选取尽可能多的目标算子,从而可以进一步对多个目标算子进行量化,生成目标分类模型。相比于通用技术依赖于人工凭经验选择部分参数进行量化的方式,本公开通过电子设备按照影响程度等级逐一判定的方式对模型进行量化,不仅可以节约人效,且可以保证对初始分类模型中尽可能多的算子进行量化得到目标分类模型,从而能够在不影响业务应用的实施效果的同时提升业务应用的运行速度。

在一种实施例中,结合图3,在上述S302中,电子设备根据各算子关联的分类处理的运算顺序和类型,确定各算子关联的分类处理对于待分类图片的分类结果的影响程度等级时,如图4所示,本公开提供一种可选的实现方式,具体包括:S401-S405。

S401、电子设备确定n个结构块关联的分类处理的运算顺序。

一种可能的方式中,组成初始分类模型的m个算子一般分布在各个结构块中。即初始分类模型一般包括n个结构块,且每个结构块包括m个算子中的至少一个算子。n为小于m的正整数。应理解,一个算子仅位于一个结构块中。

一种可能的方式中,任一结构块可以用于针对待分类图片进行与图片分类关联的分类处理(例如分割处理和融合处理等)。应理解,结构块针对待分类图片进行的与图片分类关联的分类处理是基于包括的至少一个算子实现的。

一种可以实现的方式中,电子设备在解析初始分类模型的模型文件得到n个结构块后,可以按照n个结构块的计算逻辑,从运算起始的结构块到运算终止的结构块依次编排n个结构块的顺序号,以确定n个结构块关联的分类处理的运算顺序。

S402、电子设备按照第一预设规则确定n个结构块关联的分类处理对于待分类图片的分类结果的影响程度等级。

其中,第一预设规则包括:当n个结构块中的第一结构块和第二结构块均是预设类型结构块、且第一结构块的运算顺序位于第二结构块的运算顺序之前时,或者,当第一结构块是预设类型结构块、且第二结构块不是预设类型结构块时,或者,当第一结构块和第二结构块均不是预设类型结构块、且第一结构块的运算顺序位于第二结构块的运算顺序之前时,确定第一结构块的影响程度等级低于第二结构块。预设类型结构块为包括预设类型算子的结构块。预设类型算子为具备归一化功能的算子;第一结构块为n个结构块中的任意一个结构块。第二结构块为n个结构块中除第一结构块以外的任意一个结构块。

一种可能的方式中,对于包括预设类型算子的预设类型结构块来说,预设类型结构块中的运算起始算子和运算终止算子可以是预设类型算子。

需要说明的是,在包括预设类型算子时,预设类型结构块处理数据得到的结果往往不需要过高的精度。也就是说,将预设类型结构块中的浮点型数据转换为定点型数据后,初始分类模型受到的精度影响较小。

一种可能的示例中,预设初始分类模型包括6个结构块,分别是顺序号为1的结构块1、顺序号为2的结构块2、顺序号为3的结构块3、顺序号为4的结构块4、顺序号为5的结构块5和顺序号为6的结构块6。并且,结构块3和结构块5为预设类型结构块。

则按照第一预设规则,由于结构块3和结构块5为预设类型结构块、且结构块3的运算顺序位于结构块5的运算顺序之前。因此,电子设备可以确定结构块3的影响程度等级低于结构块5。

由于结构块5为预设类型结构块、且结构块1不为预设类型结构块。因此,电子设备可以确定结构块5的影响程度等级低于结构块1。

由于结构块1和结构块2均不为预设类型结构块、且结构块1的运算顺序位于结构块2的运算顺序之前。因此,电子设备可以确定结构块1的影响程度等级低于结构块2。

以此类推,电子设备可以确定结构块3的影响程度等级为第一级,结构块5的影响程度等级为第二级,结构块1的影响程度等级为第三级,结构块2的影响程度等级为第四级,结构块4的影响程度等级为第五级,结构块6的影响程度等级为第六级。

S403、电子设备确定各结构块中至少一个算子关联的分类处理的运算顺序。

具体的,电子设备在解析初始分类模型的模型文件以得到n个结构块后,可以进一步确定到每个结构块包括的至少一个算子,并按照每个结构块的计算逻辑,从运算起始算子到运算终止算子依次编排每个结构块中的至少一个算子的顺序号,以确定各结构块中至少一个算子关联的分类处理的运算顺序。

S404、电子设备按照第二预设规则确定各结构块中至少一个算子关联的分类处理对于待分类图片的分类结果的影响程度等级。

其中,第二预设规则包括:当结构块中的第一算子的后一个算子和第二算子的后一个算子均是预设类型算子、且第一算子的运算顺序位于第二算子的运算顺序之前时,或者,当第一算子的后一个算子是预设类型算子、且第二算子的后一个算子不是预设类型算子时,或者,当第一算子的后一个算子和第二算子的后一个算子均不是预设类型算子、且第一算子的运算顺序位于第二算子的运算顺序之前时,确定第一算子的影响程度等级低于第二算子。第一算子为结构块中的任意一个算子。第二算子为结构块中除第一算子以外的任意一个算子。

需要说明的是,当一个算子的后一个算子为预设类型算子时,由于后一个算子会对该一个算子输出的结果进行归一化处理。因此,电子设备可以确定该一个算子输出的结果并不需要具备过高的精度,也就是说,将该一个算子中的浮点型数据转换为定点型数据后,预设类型结构块受到的精度影响较小。这样,初始分类模型受到的精度影响也较小。

一种可能的示例中,结合上述S402的示例,预设结构块3包括6个算子,分别是顺序号为1的算子1、顺序号为2的算子2、顺序号为3的算子3、顺序号为4的算子4、顺序号为5的算子5和顺序号为6的算子6。并且,算子2和算子6为预设类型算子。

则按照第二预设规则,由于算子1的后一个算子2和算子5的后一个算子6为预设类型算子、且算子1的运算顺序位于算子5的运算顺序之前。因此,电子设备可以确定算子1的影响程度等级低于算子5。

由于算子5的后一个算子6为预设类型算子、且算子2的后一个算子3不为预设类型算子。因此,电子设备可以确定算子5的影响程度等级低于算子2。

由于算子2的后一个算子3和算子3的后一个算子4均不为预设类型算子、且算子2的运算顺序位于算子3的运算顺序之前。因此,电子设备可以确定算子2的影响程度等级低于算子3。

以此类推,电子设备可以确定算子1的影响程度等级为第一级,算子5的影响程度等级为第二级,算子2的影响程度等级为第三级,算子3的影响程度等级为第四级,算子4的影响程度等级为第五级,算子6的影响程度等级为第六级。

S405、电子设备根据n个结构块对应的影响程度等级和各结构块中至少一个算子对应的影响程度等级,确定各算子对应的影响程度等级。

具体的,在确定n个结构块对应的影响程度等级和各结构块中至少一个算子对应的影响程度等级后,电子设备可以按照每一个结构块的影响程度等级对n个结构块进行排序,并按照每个结构块中的至少一个算子的影响程度等级对每个结构块中的至少一个算子进行排序,以确定各算子对应的影响程度等级。

一种可能的示例中,结合上述S402和S404的示例,电子设备可以先按照初始分类模型中6个结构块对应的影响程度等级,将6个结构块排序为结构块3、结构块5、结构块1、结构块2、结构块4和结构块6。接着,电子设备可以按照结构块3中6个算子对应的影响程度等级,将结构块3中的6个算子排序为算子1、算子5、算子2、算子3、算子4和算子6。以此类推,电子设备在对结构块5、结构块1、结构块2、结构块4和结构块6中的算子进行排序后,便可以得到各算子对应的影响程度等级。

上述实施例提供的技术方案至少带来以下有益效果:由S401-S405可知,给出了一种电子设备根据各算子关联的分类处理的运算顺序和类型,确定各算子关联的分类处理对于待分类图片的分类结果的影响程度等级的具体实现方式。电子设备在确定n个结构块关联的分类处理的运算顺序后,按照第一预设规则确定n个结构块关联的分类处理对于待分类图片的分类结果的影响程度等级,并在确定各结构块中至少一个算子关联的分类处理的运算顺序后,按照第二预设规则确定各结构块中至少一个算子关联的分类处理对于待分类图片的分类结果的影响程度等级,从而根据n个结构块对应的影响程度等级和各结构块中至少一个算子对应的影响程度等级,确定各算子对应的影响程度等级。后续,电子设备可以根据m个算子对应的影响程度等级确定目标算子,提高确定到最多数量的目标算子的概率,相比人工经验具备更高的保证性。

在一种实施例中,结合图3,在上述S303中,电子设备按照各算子对应的影响程度等级从低到高的顺序依次对各算子执行量化判定操作,得到至少一个目标算子时,如图5所示,本公开提供一种可选的实现方式,具体包括:S501-S504。

S501、电子设备对当前算子集合中的每个算子进行量化,得到当前分类模型。

其中,当前算子集合包括:各算子对应的影响程度等级从低到高的顺序中的第i个算子和前i-1个算子中的目标算子。i为小于或等于m的正整数。当前分类模型为第i个算子对应的量化后所得模型。

一种可能的示例中,结合S302中的示例,预设初始分类模型中5个算子对应的影响程度等级为算子d、算子e、算子a、算子b和算子c。电子设备基于该5个算子对应的影响程度等级,开始对这5个算子执行量化判定操作时,即i等于1时,当前算子集合包括该5个算子对应的影响程度等级从低到高的顺序中的第一个算子(即算子d),且此时不存在目标算子。这种情况下,电子设备对第一个算子(即算子d)进行量化后,可以将初始分类模型中未量化的算子d替换为量化后的算子d,以得到当前分类模型,即算子d对应的量化后所得模型。

接着,若判定算子d为目标算子,则i等于2时,当前算子集合包括该5个算子对应的影响程度等级从低到高的顺序中的第二个算子(即算子e)和算子d。这种情况下,电子设备对算子d和算子e进行量化后,可以将初始分类模型中未量化的算子d替换为量化后的算子d,并将初始分类模型中未量化的算子e替换为量化后的算子e,以得到当前分类模型,即算子e对应的量化后所得模型。

S502、电子设备在当前分类模型符合第一预设条件时,将第i个算子确定为目标算子,并更新i的取值。

一种可能的方式中,第一预设条件还可以包括:当前分类模型确定到的待分类图片的分类结果和初始分类模型确定到的待分类图片的分类结果之间的相对差距小于或等于预设阈值、且当前分类模型确定到分类结果的运行耗时小于当前时长阈值。当前时长阈值为量化当前算子集合中的每个目标算子后所得分类模型确定到分类结果的运行耗时。

一种可以实现的方式中,在当前分类模型符合第一预设条件时,可以表明当前分类模型的运算精度符合要求。并且,由于当前时长阈值为对当前算子集合中的目标算子进行量化后得到模型的运行耗时,即当前时长阈值为此当前分类模型之前的上一个当前分类模型的运行耗时。因此,若当前分类模型的运行耗时小于当前时长阈值,则可以表明当前分类模型的运行耗时低于之前所确定的当前分类模型的运行耗时,即可以表明当前分类模型的运行耗时最短,对第i个算子量化后可以提升运算速度且保证运算精度。这种情况下,电子设备可以将第i个算子确定为目标算子,并更新i的取值,即将i的取值递加1,以接着对各算子对应的影响程度等级中的下一个算子进行判定。

S503、电子设备在当前分类模型不符合第一预设条件时,更新i的取值。

一种可以实现的方式中,在当前分类模型不符合第一预设条件时,则表明第i个算子被量化后不可以提升初始分类模型的运算速度。或者,第i个算子被量化后可以提升初始分类模型的运算速度,但不能保证运算精度。这些情况下,第i个算子不可以被确定为目标算子。因此,电子设备可以直接更新i的取值,即将i的取值递加1。

S504、电子设备重复对当前算子集合中的每个算子进行量化,直至i大于m时,得到至少一个目标算子。

一种可以实现的方式中,在更新i的取值,即将i的取值递加1后,电子设备可以先根据递加后i的值(即i+1)对当前算子集合进行更新,再对更新后的当前算子集合中的每个算子进行量化,以得到更新后的当前分类模型,并判定更新后的当前分类模型是否符合第一预设条件。以此类推,直至i大于m时,电子设备可以得到至少一个目标算子。

一种可能的示例中,结合S501中的示例,预设初始分类模型中5个算子对应的影响程度等级为算子d、算子e、算子a、算子b和算子c。电子设备基于该5个算子对应的影响程度等级,开始对这5个算子执行量化判定操作时,即i等于1时,当前算子集合包括该5个算子对应的影响程度等级从低到高的顺序中的第一个算子(即算子d),且此时不存在目标算子。

接着,若当前算子集合中的每个算子进行量化后得到的当前分类模型满足第一预设条件,则电子设备可以将算子d确定为目标算子,并将i的取值递加1。此时i等于2,当前算子集合为:算子d和第二个算子(即算子e)。

接着,若当前算子集合中的每个算子进行量化后得到的当前分类模型满足第一预设条件,则电子设备可以将算子d和算子e确定为目标算子,并将i的取值递加1。此时i等于3,当前算子集合为:算子d、算子e和第三个算子(即算子a)。

接着,若当前算子集合中的每个算子进行量化后得到的当前分类模型不满足第一预设条件,则电子设备可以将算子d和算子e确定为目标算子,并将i的取值递加1。此时i等于4,当前算子集合为:算子d、算子e和第四个算子(即算子b)。

接着,若当前算子集合中的每个算子进行量化后得到的当前分类模型满足第一预设条件,则电子设备可以将算子d、算子e和算子b确定为目标算子,并将i的取值递加1。此时i等于5,当前算子集合为:算子d、算子e、算子b和第五个算子(即算子c)。

接着,若当前算子集合中的每个算子进行量化后得到的当前分类模型不满足第一预设条件,则电子设备可以将算子d、算子e和算子b确定为目标算子,并将i的取值递加1。此时,由于i等于6,符合i大于m条件,电子设备结束执行量化判定操作。

这样,电子设备可以得到包括算子d、算子e和算子b的目标算子。

上述实施例提供的技术方案至少带来以下有益效果:由S501-S504可知,给出了一种电子设备按照各算子对应的影响程度等级从低到高的顺序依次对各算子执行量化判定操作,得到至少一个目标算子的具体实现方式。电子设备在对当前算子集合中的每个算子进行量化,得到当前分类模型后,可以判断当前分类模型是否符合第一预设条件。若是,电子设备可以将第i个算子确定为符合量化条件的目标算子,并将i的取值递加1。若否,电子设备直接将i的取值递加1。接着,电子设备可以重复对当前算子集合中的每个算子进行量化,直至i大于m时,得到至少一个目标算子。

在一种实施例中,在电子设备对当前算子集合中的每个算子进行量化,以得到当前分类模型时,如图6所示,本公开提供一种可选的实现方式,具体包括:S601-S603。

S601、电子设备根据当前算子集合中每个目标算子对应的目标量化算法,对每个目标算子进行量化,得到第一模型。

需要说明的是,在当前算子集合中包括目标算子时,则表明电子设备在之前已经对目标算子进行过量化,并已经确定与目标算子对应的目标量化方式。这种情况下,电子设备可以根据当前算子集合中每个目标算子对应的目标量化算法,对每个目标算子进行量化,以得到第一模型。具体的,关于这种情况的具体描述,可以参考下述S602-S603的具体实现方式,在此不再赘述。

在当前算子集合中不包括目标算子时,则表明此当前算子集合为最先的一个算子集合,或者此当前算子集合更新之前的当前算子集合不符合第一预设条件。这种情况下,电子设备可以确定不存在第一模型。

S602、电子设备基于第一模型,根据多个预设量化算法分别对第i个算子进行量化,得到与多个预设量化算法一一对应的多个第二模型。

需要说明的是,针对一个用于处理至少两个变量的算子进行量化时,一般可以先确定一个缩放因子(scale),以将该一个算子中的浮点型数据转换为定点型数据。由于确定缩放因子时,需要已知浮点型数据的取值范围和定点型数据的取值范围。因此,为了确定该一个缩放因子,需要先确定该一个算子中浮点型数据的最小值(min)和最大值(max),以得到浮点型数据的取值范围。对于定点型数据的取值范围,可以根据量化后数据的类型进行设定。应理解,关于缩放因子的具体确定公式,本领域技术人员可以参照现有技术进行理解,在此不再赘述。

一种可能的方式中,定点型数据可以设置为int16型,定点型数据的取值范围可以是(-32768,+32767)。并且,在设置定点型数据为int16型得到目标分类模型后,若需要得到定点型数据为Int8型的目标分类模型,将定点型数据为int16型时得到的缩放因子进行更改便可以直接得到Int8型的目标分类模型。同时,基于定点型数据为int16型得到的目标分类模型,和基于浮点型数据为fp16型的初始分类模型之间的模型误差小于1/2

并且,在确定该一个算子中浮点型数据的最小值和最大值时,通常存在多个校准算法。例如,无序状态测量法(entropy)、均方误差(mean-square error,MSE)法和百分位数(percentile)法等算法。并且,在根据浮点型数据的取值范围和定点型数据的取值范围得到缩放因子后,也存在多个计数保留法。例如,四舍五入法和向上取整(ceil)等算法。同时,每个校准算法在确定该一个算子中浮点型数据的最小值和最大值时,还可以调整参数的大小进行校准。例如,百分位数法可以调整百分比(percentage)参数为从0%到100%的任意值。

针对一个用于处理一个变量和一个权值的算子进行量化时,一般也可以选择每个通道量化(per channel quantization)法和每个张量量化(per tensor quantization)法等算法。

基于此,在对该一个算子进行量化时,为了尽可能的降低误差,以得到尽可能高的精度,本公开的电子设备中预先配置有多个预设量化算法。多个预设量化算法可以包括基于多个百分比参数的百分位数法和四舍五入法的多个量化算法,还可以包括基于多个百分比参数的百分位数法和向上取整法的多个量化算法,或者上述的任意一种可以对该一个算子进行量化的量化算法。在此不再一一列举。

具体的,在执行S601后,若不存在第一模型时,则电子设备可以确定当前算子集合仅包括第i个算子。这种情况下,电子设备可以根据多个预设量化算法对第i个算子进行量化,以得到与多个预设量化算法一一对应的多个第二模型。

若存在第一模型时,则电子设备可以确定当前算子集合在包括第i个算子外,还包括至少一个目标算子。这种情况下,电子设备可以根据每个预设量化算法对第i个算子进行一次量化,以得到与多个预设量化算法一一对应的多个被量化后的第i个算子。接着,电子设备可以将每个被量化后的第i个算子和第一模型进行一次组合,以得到与多个预设量化算法一一对应的多个第二模型。

一种可能的示例中,结合上述S302中的示例,在当前算子集合包括各算子对应的影响程度等级从低到高的顺序中的第一个算子(即算子d),且不存在目标算子时,电子设备可以执行S601确定不存在第一模型,并根据多个预设量化算法对算子d进行量化,以得到与多个预设量化算法一一对应的多个第二模型。

进一步的,电子设备可以将多个第二模型中符合第二预设条件的第二模型确定为当前分类模型,并将符合第二预设条件的第二模型对应的量化算法确定为算子d对应的目标量化算法。具体的,该过程可以参照下述S603和S701的描述。

在当前算子集合更新为:算子d和第二个算子(即算子e)时,电子设备可以根据当前算子集合中的目标算子(即算子d)对应的目标量化算法,对算子d进行量化以得到第一模型。接着,电子设备基于该第一模型,根据多个预设量化算法对当前算子集合中的第i个算子(即算子e)进行量化,以得到与多个预设量化算法一一对应的多个第二模型。直至得到包括算子d、算子e和算子b的多个目标算子。

S603、电子设备将多个第二模型中符合第二预设条件的第二模型确定为当前分类模型。

其中,第二预设条件包括:第二模型确定到的待分类图片的分类结果和初始分类模型确定到的待分类图片的分类结果之间的相对差距小于或等于预设阈值、且第二模型确定到分类结果的运行耗时小于或等于预设时长阈值。

一种可以实现的方式中,电子设备可以将多个第二模型中确定到的待分类图片的分类结果和初始分类模型确定到的待分类图片的分类结果之间的相对差距小于或等于预设阈值、且确定到分类结果的运行耗时最短的第二模型确定为预设第二模型,并将该预设第二模型确定到分类结果的运行耗时确定为预设时长阈值。

基于此,在得到多个第二模型后,电子设备可以将多个第二模型中确定到的待分类图片的分类结果和初始分类模型确定到的待分类图片的分类结果之间的相对差距小于或等于预设阈值、且确定到分类结果的运行耗时小于或等于预设时长阈值的第二模型确定为当前分类模型。也就是说,当前分类模型为多个第二模型中符合精度要求、且模型运行速度最快的第二模型。

上述实施例提供的技术方案至少带来以下有益效果:由S601-S603可知,给出了一种电子设备对当前算子集合中的每个算子进行量化,以得到当前分类模型的具体实现方式。电子设备可以在第一模型的基础上,以每个算子为单一变量的方式,通过多个预设量化算法对每个算子进行量化得到多个第二模型,从而在多个第二模型中确定到符合第二预设条件的当前分类模型,即将量化效果最好的第二模型确定为当前分类模型。因此,电子设备可以在已确定目标量化算法的目标算子的基础上,评估多个预设量化算法对一个算子的不同量化效果,从而甄别出最适合该一个算子的预设量化算法,实现对多个预设量化算法的优越性的差异化评估。

在一种可以实现的示例中,结合图6,如图7所示,本公开提供的图片分类模型生成方法还体包括:S701。

S701、电子设备将符合第二预设条件的第二模型对应的预设量化算法,确定为第i个算子对应的目标量化算法。

具体的,在多个第二模型中确定到当前分类模型后,电子设备可以将符合第二预设条件的第二模型对应的预设量化算法,确定为第i个算子对应的目标量化算法。这样一来,在当前分类模型符合第一预设条件时,电子设备可以当前算子集合中第i个算子确定为目标算子,并将第i个算子对应的目标量化算法确定为该目标算子对应的目标量化算法。

后续,在需要对该目标算子(即第i个算子)进行量化时,电子设备可以方便地根据该目标算子对应的目标量化算法,对该目标算子进行量化,从而加快了对初始分类模型进行量化的速度。

一种可能的示例中,结合上述S302中的示例,在当前算子集合包括各算子对应的影响程度等级从低到高的顺序中的第一个算子(即算子d),且不存在目标算子时,若当前算子集合中的每个算子进行量化后得到的当前分类模型满足第一预设条件,则电子设备可以将当前算子集合中的第i个算子(即算子d)确定为目标算子,并将当前分类模型对应的量化算法确定为算子d对应的目标量化算法。

在当前算子集合更新为:算子d和第二个算子(即算子e)时,若当前算子集合中的每个算子进行量化后得到的当前分类模型满足第一预设条件,则电子设备可以将当前算子集合中的第i个算子(即算子e)确定为目标算子,并将当前分类模型对应的量化算法确定为算子e对应的目标量化算法。直至得到包括算子d、算子e和算子b的目标算子,以及算子d对应的目标量化算法、算子e对应的目标量化算法和算子b对应的目标量化算法。

上述实施例提供的技术方案至少带来以下有益效果:由S701可知,电子设备在已确定目标量化算法的目标算子的基础上,从多个预设量化算法中确定到最适合当前算子集合中第i个算子的目标量化算法后,可以建立当前算子集合中第i个算子和目标量化算法的对应关系。这样,在将当前算子集合中第i个算子确定为目标算子后,电子设备可以方便地对该当前算子集合中第i个算子进行量化。

在一种可以实现的示例中,结合图3,在上述S304中,电子设备对初始分类模型中的至少一个目标算子进行量化,生成用于确定待分类图片的分类结果的目标分类模型时,如图8所示,本公开提供一种可选的实现方式,具体包括:S801。

S801、电子设备根据各个目标算子对应的目标量化算法,对各个目标算子进行量化,生成目标分类模型。

具体的,在得到多个目标算子的同时,电子设备也得到了每个目标算子对应的目标量化算法。因此,电子设备可以根据各个目标算子对应的目标量化算法,对各个目标算子进行量化,以得到目标分类模型。

一种可能的示例中,结合S701中的示例,多个目标算子包括有算子d、算子e和算子b。电子设备可以在根据算子d对应的目标量化算法对算子d进行量化后,再根据算子e对应的目标量化算法对算子e进行量化,并接着根据算子b对应的目标量化算法对算子b进行量化。这样,电子设备可以完成对初始分类模型的量化,以得到目标分类模型。

上述实施例提供的技术方案至少带来以下有益效果:由上述S801可知,给出了一种电子设备对初始分类模型中的各个目标算子进行量化,得到目标分类模型的具体实现方式。在得到多个目标算子后,由于每个目标算子均对应有目标量化算法,因此,电子设备无需再对多个预设量化算法进行甄别,可以方便地通过各个目标算子对应的目标量化算法,对目标算子中各个目标算子进行量化,以得到目标分类模型。

在一种实施例中,在电子设备将多个第二模型中符合第二预设条件的第二模型确定为当前分类模型时,如图9所示,本公开提供的一种可选的实现方式,包括:S901-S902。

S901、电子设备基于第二模型对待分类图片进行分类,得到第二模型的运行信息。

其中,运行信息包括第二模型确定到的待分类图片的分类结果和第二模型确定到分类结果的运行耗时。

具体的,电子设备在得到第二模型后,可以基于第二模型对待分类图片进行分类,并监测第二模型的运行过程。这样,电子设备可以得到第二模型确定到的待分类图片的分类结果。同时,电子设备可以监测第二模型启动运行和停止运行的时刻信息,以确定第二模型确定到分类结果的运行耗时。

S902、电子设备当第二模型确定到的待分类图片的分类结果和初始分类模型确定到的待分类图片的分类结果之间的相对差距小于或等于预设阈值、且第二模型确定到分类结果的运行耗时小于或等于预设时长阈值时,确定第二模型为当前分类模型。

需要说明的是,由于初始分类模型中的大量参数为浮点型数据。因此,初始分类模型对待分类图片进行分类得到的分类结果具有良好的精度。基于此,为了准确的确定第二模型的误差,电子设备可以将第二模型确定到的待分类图片的分类结果和初始分类模型确定到的待分类图片的分类结果之间的相对差距,确定为第二模型的模型误差。

一种可能的方式中,电子设备可以通过第一公式,确定第二模型确定到的待分类图片的分类结果和初始分类模型确定到的待分类图片的分类结果之间的相对差距。第一公式为:

R=∑abs(r-Q)/∑(r)。

其中,R为第二模型确定到的待分类图片的分类结果和初始分类模型确定到的待分类图片的分类结果之间的相对差距(relative difference)。r为第二模型确定到的待分类图片的分类结果。Q为初始分类模型确定到的待分类图片的分类结果。∑abs用于表示求括号内值的绝对值。∑用于求括号内所有值之和。

上述实施例提供的技术方案至少带来以下有益效果:由上述S901-S902可知,给出了一种电子设备将多个第二模型中符合第二预设条件的第二模型确定为当前分类模型的具体实现方式。电子设备可以基于第二模型对待分类图片进行分类,得到第二模型的运行信息,并在第二模型确定到的待分类图片的分类结果和初始分类模型确定到的待分类图片的分类结果之间的相对差距小于或等于预设阈值、且第二模型确定到分类结果的运行耗时小于或等于预设时长阈值时,确定第二模型为当前分类模型。这样一来,电子设备可以更准确的确定第二模型的量化效果,并更好的评估第二模型实际部署在GPU等协处理器上时的性能。

在一种可以实现的示例中,如图10所示,为本公开提供的一种图片分类模型生成方法的流程示意图。电子设备在获取到初始分类模型的模型文件后,可以解析模型文件以确定用于表示初始分类模型的整体结构的模型图。接着,电子设备可以确定该模型图的类型(例如CNN结构和transformer结构等类型),以确定初始分类模型的计算逻辑。

接着,电子设备可以根据初始分类模型的计算逻辑和第一预设规则,确定组成初始分类模型的n个结构块对应的影响程度等级,并根据各结构块的计算逻辑和第二预设规则,确定每个结构块中的至少一个算子对应的影响程度等级。进一步的,电子设备可以得到组成初始分类模型的m个算子对应的影响程度等级。

接着,电子设备可以按照m个算子对应的影响程度等级,对m个算子执行量化判定操作。若当前算子集合中不存在目标算子,则电子设备可以在根据多个预设量化算法对当前算子集合中的每个算子进行量化,以得到多个第二模型。进一步的,电子设备可以将满足第二预设条件的第二模型确定为当前分类模型。若当前算子集合中存在目标算子,电子设备可以根据当前算子集合中每个目标算子对应的目标量化算法,对每个目标算子进行量化,以得到第一模型。接着,电子设备基于第一模型,根据多个预设量化算法对当前算子集合中的第i个算子进行量化,可以得到与多个预设量化算法一一对应的多个第二模型。进一步的,电子设备可以将满足第二预设条件的第二模型确定为当前分类模型。

在第i个算子是第m个算子时,电子设备确定第i个算子是目标算子或者不是目标算子后,可以根据当前算子集合中每个目标算子对应的目标量化算法,对每个目标算子进行量化,以得到目标分类模型。

接着,电子设备可以运行当前分类模型确定待分类图片的分类结果,以确定当前分类模型的指标参数。指标参数可以包括当前分类模型的模型误差、运行耗时和资源占用量等参数。进一步的,电子设备可以将根据当前分类模型的运行耗时和资源占用量等参数,对当前分类模型的模型性能进行评分,以得到当前分类模型的模型性能分值。

在当前分类模型的模型误差小于或等于预设误差阈值时,电子设备可以进一步确定当前分类模型的模型性能分值是否大于当前性能阈值。

若当前分类模型的模型性能分值大于当前性能阈值,电子设备将第i个算子确定为目标算子,并确定第i个算子对应的目标量化算法。接着,电子设备可以将i的取值递加1,并进一步更新当前算子集合,返回判断i是否大于m。若当前分类模型的模型性能分值小于或等于当前性能阈值,则电子设备直接将i的取值递加1,并进一步更新当前算子集合,返回判断i是否大于m。其中,当前性能阈值为当前算子集合中的目标算子被量化后得到模型的模型性能分值。

在当前分类模型的模型误差大于预设误差阈值时,电子设备可以将i的取值递加1,并进一步更新当前算子集合,返回判断i是否大于m。

应理解,在i大于m时,即i为m+1时,可以表明电子设备完成了对m个算子的量化判定操作,得到了至少一个目标算子。这种情况下,电子设备可以停止判定循环,并生成目标分类模型。

本公开实施例提供的信息分类模型生成方法也可以应用于前述图1所示的应用场景中的电子设备101。

下面结合附图对本公开实施例提供的信息分类模型生成方法进行详细介绍。

如图11所示,当信息分类模型生成方法应用于电子设备时,该信息分类模型生成方法可以包括:S1001-S1004。

S1001、电子设备获取用于确定待分类信息的分类结果的初始分类模型。

其中,初始分类模型包括m个算子。任一算子用于针对待分类信息进行与信息分类关联的分类处理。m为正整数。

一种可能的方式中,待分类信息可以是图片信息,也可以是文本信息,还可以是视频信息。图片信息可以是含有特定元素(例如人脸、动物和植物等)的图片信息,也可以是具备特定特征(例如色彩特征、轮廓特征和风格特征等)的图片信息。文本信息可以是含有特定字符(例如阿拉伯字符和英文字符等)的文本信息,也可以是具备特定特征(例如情感特征和几何特征等)的文本信息。视频信息可以是含有特定内容(例如体育类内容、游戏类内容和舞蹈类内容等)的视频信息,也可以是具备特定特征(例如方言特征和时间长短特征等)的视频信息。

相应的,在待分类信息是图片信息时,初始分类模型可以是基于图片信息中的特定元素对图片信息进行分类的AI模型,也可以是基于图片信息具备的特定特征对图片信息进行分类的AI模型。例如,在图片信息含有的特定元素为狮子时,初始分类模型可以确定图片信息的分类结果为狮子类图片。在图片信息具备的色彩特征为黑白颜色时,初始分类模型可以确定图片信息的分类结果为黑白类图片。

在待分类信息是文本信息时,初始分类模型可以是基于文本信息中的特定元素对文本信息进行分类的AI模型,也可以是基于文本信息具备的特定特征对文本信息进行分类的AI模型。例如,在文本信息含有的特定字符为英文字符时,初始分类模型可以确定文本信息的分类结果为英文类文本。在文本信息具备的情感特征为正向情感时,初始分类模型可以确定文本信息的分类结果为正向类文本。

在待分类信息是视频信息时,初始分类模型可以是基于视频信息中的特定内容对视频信息进行分类的AI模型,也可以是基于视频信息具备的特定特征对视频信息进行分类的AI模型。例如,在视频信息中的特定内容为体育类内容时,初始分类模型可以确定视频信息的分类结果为体育类视频。在视频信息具备的特定特征为A种方言特征时,初始分类模型可以确定视频信息的分类结果为A种方言类视频。

一种可能的方式中,在待分类信息是图片信息时,算子针对待分类信息进行的与信息分类关联的分类处理可以是去噪处理、变换处理和平滑处理等类型的处理。在待分类信息是文本信息时,算子针对待分类信息进行的与信息分类关联的分类处理可以是分割处理、识别处理和融合处理等类型的处理。在待分类信息是视频信息时,算子针对待分类信息进行的与信息分类关联的分类处理可以是去噪处理和灰度变换处理等类型的处理。

需要说明的是,初始分类模型在对待分类信息进行分类时,通常需要对该待分类信息进行去噪、分割,以及特征抽取和特征选择等多种类型的与信息分类关联的分类处理,以确定待分类信息的分类结果。

应理解,初始分类模型在完成关于待分类信息的多种分类处理时,是通过组成初始分类模型的m个算子实现的,且整个处理过程需要一定的处理时间。进一步地,这m个算子中的每个算子是由参数和计算公式组成的。并且,为了提高算子的计算精度,组成算子的参数一般为浮点型数据。然而,一个参数为浮点型数据的算子和一个参数为定点型数据的算子在完成一次相同的分类处理时,参数为浮点型数据的算子所需要的时间会明显大于参数为定点型数据的算子。基于此,为了提升初始分类模型的运行速度,可以考虑对初始分类模型进行量化,即将初始分类模型中组成m个算子的多个参数由浮点型数据量化为定点型数据。

一种可以实现的方式中,工作人员在将用于确定待分类信息的分类结果的初始分类模型部署到处理器上时,为了提升初始分类模型的运行速度,以降低初始分类模型对于处理器上存储资源和计算资源等资源的占用,可以先通过电子设备对初始分类模型进行量化。

具体而言,结合图2,工作人员可以通过终端配置的输入模块,执行指向于电子设备的文件发送操作(例如点击发送按钮),以向电子设备发送存储在终端的存储模块中的初始分类模型的模型文件。响应于该文件发送操作,终端配置的通信模块可以向电子设备发送初始分类模型的模型文件。相应的,电子设备可以接收到来自于终端的初始分类模型的模型文件。接着,电子设备可以解析初始分类模型的模型文件,以得到初始分类模型中的m个算子。后续,电子设备可以对m个算子进行量化,以提升初始分类模型的运行速度。

S1002、电子设备根据各算子关联的分类处理的运算顺序和类型,确定各算子关联的分类处理对于待分类信息的分类结果的影响程度等级。

需要说明的是,为了确定待分类信息的分类结果,组成初始分类模型的m个算子需要进行多种类型的分类处理。也就是说,m个算子的类型比较多样。例如,m个算子中可以包括用于实现卷积运算的卷积算子、用于实现归一化运算的归一化算子和用于实现池化运算的池化算子等算子。

进一步,由于不同类型的运算得到的运算结果,对于初始分类模型确定到的分类结果造成的影响程度往往不同。因此,不同类型算子的运算精度对于待分类信息的分类结果的影响程度往往不同。例如,卷积运算的运算精度对于待分类信息的分类结果的影响程度,一般要高于归一化运算的运算精度对于待分类信息的分类结果的影响程度。并且,运算顺序位于特定类型算子之前与位于特定类型算子之后时,对于待分类信息的分类结果的影响程度往往也不同。例如,当一个算子位于归一化算子之前时,由于归一化算子会对该一个算子的运算结果进行归一化运算,因此,该一个算子位于归一化算子之前时的运算精度对于待分类信息的分类结果的影响程度,一般要低于该一个算子位于归一化算子之后时的运算精度对于待分类信息的分类结果的影响程度。

基于此,为了在提升初始分类模型的运行速度的同时,保证初始分类模型的实施效果,电子设备可以先确定m个算子中每个算子关联的分类处理对于待分类信息的分类结果的影响程度等级,再优先选择对于待分类信息的分类结果的影响程度较低的算子进行量化,以对m个算子中尽可能多的算子进行量化,从而更有效地提升初始分类模型的运行速度,保证对初始分类模型进行量化处理的量化效果。

一种可以实现的方式中,电子设备在获取到初始分类模型中的m个算子后,可以先确定m个算子中每个算子关联的分类处理的运算顺序和类型,再根据每个算子关联的分类处理的类型,确定各算子关联的分类处理对于待分类信息的分类结果的影响程度,并根据每个算子关联的分类处理的运算顺序对各算子进行排序,得到各算子关联的分类处理对于待分类信息的分类结果的影响程度等级。这样一来,电子设备可以按照各算子关联的分类处理对于待分类信息的分类结果的影响程度等级,优先对特定类型的算子进行量化,以对m个算子中更多的算子进行量化。

一种可能的示例中,预设初始分类模型包括5个算子,分别为算子a、算子b、算子c、算子d和算子e。其中,算子d和算子e为特定类型的算子。在不确定这5个算子对应的影响程度等级的情况下,电子设备可以依次对算子a、算子b、算子c、算子d和算子e进行量化。则在电子设备对初始分类模型进行量化的过程中,初始分类模型的精度可能在算子a和算子b被量化后满足精度要求,并接着在算子c被量化后不满足精度要求。这种情况下,电子设备仅能对初始分类模型中的算子a和算子b进行量化。

在确定这5个算子对应的影响程度等级的情况下,电子设备可以优先对算子d和算子e进行量化。则在电子设备对初始分类模型进行量化的过程中,初始分类模型的精度可能在算子d、算子e、算子a和算子b被量化后满足精度要求,并接着在算子c被量化后不满足精度要求。这种情况下,电子设备可以完成对于算子d、算子e、算子a和算子b四个算子的量化。可见,在确定组成初始分类模型的m个算子对应的影响程度等级后,电子设备可以对m个算子中尽可能多的算子进行量化。

S1003、电子设备按照各算子对应的影响程度等级从低到高的顺序依次对各算子执行量化判定操作,得到至少一个目标算子。

一种可能的方式中,量化判定操作可以用于将量化后所得分类模型满足第一预设条件的算子确定为目标算子。目标算子可以是被量化后可以降低初始分类模型的运算耗时,且对初始分类模型的运算精度的影响程度较低的算子。

一种可能的方式中,第一预设条件可以包括量化后所得分类模型确定到的待分类信息的分类结果和初始分类模型确定到的待分类信息的分类结果之间的相对差距小于预设阈值、且量化后所得分类模型确定到分类结果的运行耗时小于初始分类模型确定到分类结果的运行耗时。其中,预设阈值可以由工作人员预先设置在电子设备中。

一种可以实现的方式中,在确定m个算子对应的影响程度等级后,电子设备可以按照各算子对应的影响程度等级从低到高的顺序依次对各算子执行量化判定操作,即优先对所关联的分类处理对于待分类信息的分类结果的影响程度较低的算子执行量化判定操作。具体而言,电子设备在按照各算子对应的影响程度等级选中一个算子后,可以对该选中算子进行量化。接着,电子设备可以用量化后的该选中算子,替换初始分类模型中量化前的该选中算子,以得到更新该选中算子后的初始分类模型,即量化后分类模型。接着,电子设备可以基于量化后分类模型确定待分类信息的分类结果,并测试量化后分类模型确定到分类结果的运行耗时,以确定量化后分类模型是否满足第一预设条件。

若确定量化后所得分类模型确定到的待分类信息的分类结果和初始分类模型确定到的待分类信息的分类结果之间的相对差距小于预设阈值、且量化后所得分类模型确定到分类结果的运行耗时小于初始分类模型确定到分类结果的运行耗时,则确定该选中算子为目标算子。接着,电子设备可以在更新该选中算子后的初始分类模型的基础上,选中各算子对应的影响程度等级中的后一个算子,并接着对选中的后一个算子执行量化判定操作。若否,则电子设备确定该选中算子不是目标算子。接着,电子设备可以在未更新该选中算子的初始分类模型的基础上,选中各算子对应的影响程度等级中的后一个算子,并接着对选中的后一个算子执行量化判定操作。以此类推,电子设备按照m个算子对应的影响程度等级对m个算子均执行量化判定操作后,可以得到至少一个目标算子。

S1004、电子设备对初始分类模型中的至少一个目标算子进行量化,生成用于确定待分类信息的分类结果的目标分类模型。

一种可能的方式中,目标分类模型的运行耗时小于初始分类模型的运行耗时,并且目标分类模型输出的结果与初始分类模型输出的结果之间的相对差距小于或等于预设阈值。

一种可以实现的方式中,由于目标算子被量化后可以降低初始分类模型的运算耗时,且不影响初始分类模型的实施效果。因此,电子设备在得到至少一个目标算子后,可以对初始分类模型中的至少一个目标算子进行量化,生成目标分类模型。

一种可能的示例中,结合上述S1002中的示例,在基于相同精度条件的前提下,预设电子设备在未确定各算子对应的影响程度等级时,可以依次对初始分类模型中的算子a和算子b进行量化后得到模型A。电子设备在确定各算子对应的影响程度等级时,可以先按照各算子对应的影响程度等级对各算子执行量化判断操作,并在得到算子d、算子e、算子a和算子b四个目标算子后,对初始分类模型中的算子d、算子e、算子a和算子b进行量化后得到模型B(即目标分类模型)。

当GPU1需要确定待分类信息1的分类结果时,在GPU1上部署有模型A的情况下,由于组成模型A的5个算子有3个未被量化,即5个算子中2个为基于定点型数据的算子,3个为基于浮点型数据的算子。因此,GPU1在调用模型A确定待分类信息1的分类结果时,需要运行2个基于定点型数据的算子和3个基于浮点型数据的算子。

在GPU1上部署有模型B(即目标分类模型)的情况下,由于组成模型B的5个算子仅有1个未被量化,即5个算子中4个为基于定点型数据的算子,1个为基于浮点型数据的算子。因此,GPU1在调用模型B确定待分类信息1的分类结果时,需要运行4个基于定点型数据的算子和1个基于浮点型数据的算子。

可见,与调用模型A确定待分类信息1的分类结果需要运行3个基于浮点型数据的算子相比,调用模型B(即目标分类模型)确定待分类信息1的分类结果仅需运行1个基于浮点型数据的算子。应理解,与基于浮点型数据的算子相比,基于定点型数据的算子所需要的运行时长会明显减少。因此,目标分类模型可以在保证精度的前提下,更快的对信息1进行处理。

上述实施例提供的技术方案至少带来以下有益效果:由S1001-S1004可知电子设备在获取用于确定待分类信息的分类结果的初始分类模型后,可以根据初始分类模型中的各算子关联的分类处理的运算顺序和类型,确定各算子关联的分类处理对于待分类信息的分类结果的影响程度等级,并进一步按照各算子对应的影响程度等级从低到高的顺序依次对各算子执行量化判定操作,得到至少一个目标算子,从而对初始分类模型中的各个目标算子进行量化生成目标分类模型。

由于初始分类模型中的m个算子对于待分类信息的分类结果的影响程度等级不同,因此,各算子被量化后对初始分类模型的精度影响往往也不同。基于此,本公开在先确定初始分类模型中每一算子关联的分类处理对于待分类信息的分类结果的影响程度等级后,可以按照各算子对应的影响程度等级从低到高的顺序在m个算子中选取尽可能多的目标算子,从而可以进一步对多个目标算子进行量化,生成目标分类模型。相比于通用技术依赖于人工凭经验选择部分参数进行量化的方式,本公开通过电子设备按照影响程度等级逐一判定的方式对模型进行量化,不仅可以节约人效,且可以保证对初始分类模型中尽可能多的算子进行量化得到目标分类模型,从而能够在不影响业务应用的实施效果的同时提升业务应用的运行速度。

在一种实施例中,结合图11,在上述S1002中,电子设备根据各算子关联的分类处理的运算顺序和类型,确定各算子关联的分类处理对于待分类信息的分类结果的影响程度等级时,如图12所示,本公开提供一种可选的实现方式,具体包括:S1101-S1105。

S1101、电子设备确定n个结构块关联的分类处理的运算顺序。

一种可能的方式中,组成初始分类模型的m个算子一般分布在各个结构块中。即初始分类模型一般包括n个结构块,且每个结构块包括m个算子中的至少一个算子。n为小于m的正整数。应理解,一个算子仅位于一个结构块中。

一种可能的方式中,任一结构块可以用于针对待分类信息进行与信息分类关联的分类处理(例如去噪处理和融合处理等)。应理解,结构块针对待分类信息进行的与信息分类关联的分类处理是基于包括的至少一个算子实现的。

一种可以实现的方式中,电子设备在解析初始分类模型的模型文件得到n个结构块后,可以按照n个结构块的计算逻辑,从运算起始的结构块到运算终止的结构块依次编排n个结构块的顺序号,以确定n个结构块关联的分类处理的运算顺序。

S1102、电子设备按照第一预设规则确定n个结构块关联的分类处理对于待分类信息的分类结果的影响程度等级。

其中,第一预设规则包括:当n个结构块中的第一结构块和第二结构块均是预设类型结构块、且第一结构块的运算顺序位于第二结构块的运算顺序之前时,或者,当第一结构块是预设类型结构块、且第二结构块不是预设类型结构块时,或者,当第一结构块和第二结构块均不是预设类型结构块、且第一结构块的运算顺序位于第二结构块的运算顺序之前时,确定第一结构块的影响程度等级低于第二结构块。预设类型结构块为包括预设类型算子的结构块。预设类型算子为具备归一化功能的算子;第一结构块为n个结构块中的任意一个结构块。第二结构块为n个结构块中除第一结构块以外的任意一个结构块。

一种可能的方式中,对于包括预设类型算子的预设类型结构块来说,预设类型结构块中的运算起始算子和运算终止算子可以是预设类型算子。

需要说明的是,在包括预设类型算子时,预设类型结构块处理数据得到的结果往往不需要过高的精度。也就是说,将预设类型结构块中的浮点型数据转换为定点型数据后,初始分类模型受到的精度影响较小。

一种可能的示例中,预设初始分类模型包括6个结构块,分别是顺序号为1的结构块1、顺序号为2的结构块2、顺序号为3的结构块3、顺序号为4的结构块4、顺序号为5的结构块5和顺序号为6的结构块6。并且,结构块3和结构块5为预设类型结构块。

则按照第一预设规则,由于结构块3和结构块5为预设类型结构块、且结构块3的运算顺序位于结构块5的运算顺序之前。因此,电子设备可以确定结构块3的影响程度等级低于结构块5。

由于结构块5为预设类型结构块、且结构块1不为预设类型结构块。因此,电子设备可以确定结构块5的影响程度等级低于结构块1。

由于结构块1和结构块2均不为预设类型结构块、且结构块1的运算顺序位于结构块2的运算顺序之前。因此,电子设备可以确定结构块1的影响程度等级低于结构块2。

以此类推,电子设备可以确定结构块3的影响程度等级为第一级,结构块5的影响程度等级为第二级,结构块1的影响程度等级为第三级,结构块2的影响程度等级为第四级,结构块4的影响程度等级为第五级,结构块6的影响程度等级为第六级。

S1103、电子设备确定各结构块中至少一个算子关联的分类处理的运算顺序。

具体的,电子设备在解析初始分类模型的模型文件以得到n个结构块后,可以进一步确定到每个结构块包括的至少一个算子,并按照每个结构块的计算逻辑,从运算起始算子到运算终止算子依次编排每个结构块中的至少一个算子的顺序号,以确定各结构块中至少一个算子关联的分类处理的运算顺序。

S1104、电子设备按照第二预设规则确定各结构块中至少一个算子关联的分类处理对于待分类信息的分类结果的影响程度等级。

其中,第二预设规则包括:当结构块中的第一算子的后一个算子和第二算子的后一个算子均是预设类型算子、且第一算子的运算顺序位于第二算子的运算顺序之前时,或者,当第一算子的后一个算子是预设类型算子、且第二算子的后一个算子不是预设类型算子时,或者,当第一算子的后一个算子和第二算子的后一个算子均不是预设类型算子、且第一算子的运算顺序位于第二算子的运算顺序之前时,确定第一算子的影响程度等级低于第二算子。第一算子为结构块中的任意一个算子。第二算子为结构块中除第一算子以外的任意一个算子。

需要说明的是,当一个算子的后一个算子为预设类型算子时,由于后一个算子会对该一个算子输出的结果进行归一化处理。因此,电子设备可以确定该一个算子输出的结果并不需要具备过高的精度,也就是说,将该一个算子中的浮点型数据转换为定点型数据后,预设类型结构块受到的精度影响较小。这样,初始分类模型受到的精度影响也较小。

一种可能的示例中,结合上述S1102的示例,预设结构块3包括6个算子,分别是顺序号为1的算子1、顺序号为2的算子2、顺序号为3的算子3、顺序号为4的算子4、顺序号为5的算子5和顺序号为6的算子6。并且,算子2和算子6为预设类型算子。

则按照第二预设规则,由于算子1的后一个算子2和算子5的后一个算子6为预设类型算子、且算子1的运算顺序位于算子5的运算顺序之前。因此,电子设备可以确定算子1的影响程度等级低于算子5。

由于算子5的后一个算子6为预设类型算子、且算子2的后一个算子3不为预设类型算子。因此,电子设备可以确定算子5的影响程度等级低于算子2。

由于算子2的后一个算子3和算子3的后一个算子4均不为预设类型算子、且算子2的运算顺序位于算子3的运算顺序之前。因此,电子设备可以确定算子2的影响程度等级低于算子3。

以此类推,电子设备可以确定算子1的影响程度等级为第一级,算子5的影响程度等级为第二级,算子2的影响程度等级为第三级,算子3的影响程度等级为第四级,算子4的影响程度等级为第五级,算子6的影响程度等级为第六级。

S1105、电子设备根据n个结构块对应的影响程度等级和各结构块中至少一个算子对应的影响程度等级,确定各算子对应的影响程度等级。

具体的,在确定n个结构块对应的影响程度等级和各结构块中至少一个算子对应的影响程度等级后,电子设备可以按照每一个结构块的影响程度等级对n个结构块进行排序,并按照每个结构块中的至少一个算子的影响程度等级对每个结构块中的至少一个算子进行排序,以确定各算子对应的影响程度等级。

一种可能的示例中,结合上述S1102和S1104的示例,电子设备可以先按照初始分类模型中6个结构块对应的影响程度等级,将6个结构块排序为结构块3、结构块5、结构块1、结构块2、结构块4和结构块6。接着,电子设备可以按照结构块3中6个算子对应的影响程度等级,将结构块3中的6个算子排序为算子1、算子5、算子2、算子3、算子4和算子6。以此类推,电子设备在对结构块5、结构块1、结构块2、结构块4和结构块6中的算子进行排序后,便可以得到各算子对应的影响程度等级。

上述实施例提供的技术方案至少带来以下有益效果:由S1101-S1105可知,给出了一种电子设备根据各算子关联的分类处理的运算顺序和类型,确定各算子关联的分类处理对于待分类信息的分类结果的影响程度等级的具体实现方式。电子设备在确定n个结构块关联的分类处理的运算顺序后,按照第一预设规则确定n个结构块关联的分类处理对于待分类信息的分类结果的影响程度等级,并在确定各结构块中至少一个算子关联的分类处理的运算顺序后,按照第二预设规则确定各结构块中至少一个算子关联的分类处理对于待分类信息的分类结果的影响程度等级,从而根据n个结构块对应的影响程度等级和各结构块中至少一个算子对应的影响程度等级,确定各算子对应的影响程度等级。后续,电子设备可以根据m个算子对应的影响程度等级确定目标算子,提高确定到最多数量的目标算子的概率,相比人工经验具备更高的保证性。

在一种实施例中,结合图11,在上述S1003中,电子设备按照各算子对应的影响程度等级从低到高的顺序依次对各算子执行量化判定操作,得到至少一个目标算子时,如图13所示,本公开提供一种可选的实现方式,具体包括:S1201-S1204。

S1201、电子设备对当前算子集合中的每个算子进行量化,得到当前分类模型。

其中,当前算子集合包括:各算子对应的影响程度等级从低到高的顺序中的第i个算子和前i-1个算子中的目标算子。i为小于或等于m的正整数。当前分类模型为第i个算子对应的量化后所得模型。

一种可能的示例中,结合S1002中的示例,预设初始分类模型中5个算子对应的影响程度等级为算子d、算子e、算子a、算子b和算子c。电子设备基于该5个算子对应的影响程度等级,开始对这5个算子执行量化判定操作时,即i等于1时,当前算子集合包括该5个算子对应的影响程度等级从低到高的顺序中的第一个算子(即算子d),且此时不存在目标算子。这种情况下,电子设备对第一个算子(即算子d)进行量化后,可以将初始分类模型中未量化的算子d替换为量化后的算子d,以得到当前分类模型,即算子d对应的量化后所得模型。

接着,若判定算子d为目标算子,则i等于2时,当前算子集合包括该5个算子对应的影响程度等级从低到高的顺序中的第二个算子(即算子e)和算子d。这种情况下,电子设备对算子d和算子e进行量化后,可以将初始分类模型中未量化的算子d替换为量化后的算子d,并将初始分类模型中未量化的算子e替换为量化后的算子e,以得到当前分类模型,即算子e对应的量化后所得模型。

S1202、电子设备在当前分类模型符合第一预设条件时,将第i个算子确定为目标算子,并更新i的取值。

一种可能的方式中,第一预设条件还可以包括:当前分类模型确定到的待分类信息的分类结果和初始分类模型确定到的待分类信息的分类结果之间的相对差距小于或等于预设阈值、且当前分类模型确定到分类结果的运行耗时小于当前时长阈值。当前时长阈值为量化当前算子集合中的每个目标算子后所得分类模型确定到分类结果的运行耗时。

一种可以实现的方式中,在当前分类模型符合第一预设条件时,可以表明当前分类模型的运算精度符合要求。并且,由于当前时长阈值为对当前算子集合中的目标算子进行量化后得到模型的运行耗时,即当前时长阈值为此当前分类模型之前的上一个当前分类模型的运行耗时。因此,若当前分类模型的运行耗时小于当前时长阈值,则可以表明当前分类模型的运行耗时低于之前所确定的当前分类模型的运行耗时,即可以表明当前分类模型的运行耗时最短,对第i个算子量化后可以提升运算速度且保证运算精度。这种情况下,电子设备可以将第i个算子确定为目标算子,并更新i的取值,即将i的取值递加1,以接着对各算子对应的影响程度等级中的下一个算子进行判定。

S1203、电子设备在当前分类模型不符合第一预设条件时,更新i的取值。

一种可以实现的方式中,在当前分类模型不符合第一预设条件时,则表明第i个算子被量化后不可以提升初始分类模型的运算速度。或者,第i个算子被量化后可以提升初始分类模型的运算速度,但不能保证运算精度。这些情况下,第i个算子不可以被确定为目标算子。因此,电子设备可以直接更新i的取值,即将i的取值递加1。

S1204、电子设备重复对当前算子集合中的每个算子进行量化,直至i大于m时,得到至少一个目标算子。

一种可以实现的方式中,在更新i的取值,即将i的取值递加1后,电子设备可以先根据递加后i的值(即i+1)对当前算子集合进行更新,再对更新后的当前算子集合中的每个算子进行量化,以得到更新后的当前分类模型,并判定更新后的当前分类模型是否符合第一预设条件。以此类推,直至i大于m时,电子设备可以得到至少一个目标算子。

一种可能的示例中,结合S1201中的示例,预设初始分类模型中5个算子对应的影响程度等级为算子d、算子e、算子a、算子b和算子c。电子设备基于该5个算子对应的影响程度等级,开始对这5个算子执行量化判定操作时,即i等于1时,当前算子集合包括该5个算子对应的影响程度等级从低到高的顺序中的第一个算子(即算子d),且此时不存在目标算子。

接着,若当前算子集合中的每个算子进行量化后得到的当前分类模型满足第一预设条件,则电子设备可以将算子d确定为目标算子,并将i的取值递加1。此时i等于2,当前算子集合为:算子d和第二个算子(即算子e)。

接着,若当前算子集合中的每个算子进行量化后得到的当前分类模型满足第一预设条件,则电子设备可以将算子d和算子e确定为目标算子,并将i的取值递加1。此时i等于3,当前算子集合为:算子d、算子e和第三个算子(即算子a)。

接着,若当前算子集合中的每个算子进行量化后得到的当前分类模型不满足第一预设条件,则电子设备可以将算子d和算子e确定为目标算子,并将i的取值递加1。此时i等于4,当前算子集合为:算子d、算子e和第四个算子(即算子b)。

接着,若当前算子集合中的每个算子进行量化后得到的当前分类模型满足第一预设条件,则电子设备可以将算子d、算子e和算子b确定为目标算子,并将i的取值递加1。此时i等于5,当前算子集合为:算子d、算子e、算子b和第五个算子(即算子c)。

接着,若当前算子集合中的每个算子进行量化后得到的当前分类模型不满足第一预设条件,则电子设备可以将算子d、算子e和算子b确定为目标算子,并将i的取值递加1。此时,由于i等于6,符合i大于m条件,电子设备结束执行量化判定操作。

这样,电子设备可以得到包括算子d、算子e和算子b的目标算子。

上述实施例提供的技术方案至少带来以下有益效果:由S1201-S1204可知,给出了一种电子设备按照各算子对应的影响程度等级从低到高的顺序依次对各算子执行量化判定操作,得到至少一个目标算子的具体实现方式。电子设备在对当前算子集合中的每个算子进行量化,得到当前分类模型后,可以判断当前分类模型是否符合第一预设条件。若是,电子设备可以将第i个算子确定为符合量化条件的目标算子,并将i的取值递加1。若否,电子设备直接将i的取值递加1。接着,电子设备可以重复对当前算子集合中的每个算子进行量化,直至i大于m时,得到至少一个目标算子。

在一种实施例中,在电子设备对当前算子集合中的每个算子进行量化,以得到当前分类模型时,如图14所示,本公开提供一种可选的实现方式,具体包括:S1301-S1303。

S1301、电子设备根据当前算子集合中每个目标算子对应的目标量化算法,对每个目标算子进行量化,得到第一模型。

需要说明的是,在当前算子集合中包括目标算子时,则表明电子设备在之前已经对目标算子进行过量化,并已经确定与目标算子对应的目标量化方式。这种情况下,电子设备可以根据当前算子集合中每个目标算子对应的目标量化算法,对每个目标算子进行量化,以得到第一模型。具体的,关于这种情况的具体描述,可以参考下述S1302-S1303的具体实现方式,在此不再赘述。

在当前算子集合中不包括目标算子时,则表明此当前算子集合为最先的一个算子集合,或者此当前算子集合更新之前的当前算子集合不符合第一预设条件。这种情况下,电子设备可以确定不存在第一模型。

S1302、电子设备基于第一模型,根据多个预设量化算法分别对第i个算子进行量化,得到与多个预设量化算法一一对应的多个第二模型。

需要说明的是,针对一个用于处理至少两个变量的算子进行量化时,一般可以先确定一个缩放因子(scale),以将该一个算子中的浮点型数据转换为定点型数据。由于确定缩放因子时,需要已知浮点型数据的取值范围和定点型数据的取值范围。因此,为了确定该一个缩放因子,需要先确定该一个算子中浮点型数据的最小值(min)和最大值(max),以得到浮点型数据的取值范围。对于定点型数据的取值范围,可以根据量化后数据的类型进行设定。应理解,关于缩放因子的具体确定公式,本领域技术人员可以参照现有技术进行理解,在此不再赘述。

一种可能的方式中,定点型数据可以设置为int16型,定点型数据的取值范围可以是(-32768,+32767)。并且,在设置定点型数据为int16型得到目标分类模型后,若需要得到定点型数据为Int8型的目标分类模型,将定点型数据为int16型时得到的缩放因子进行更改便可以直接得到Int8型的目标分类模型。同时,基于定点型数据为int16型得到的目标分类模型,和基于浮点型数据为fp16型的初始分类模型之间的模型误差小于1/215,两者理论上的精度在同一量级位置。基于定点型数据为int16型得到的目标分类模型,和基于浮点型数据为fp32型的初始分类模型之间的模型误差也在10e-2和10e-3之间。

并且,在确定该一个算子中浮点型数据的最小值和最大值时,通常存在多个校准算法。例如,无序状态测量法(entropy)、均方误差(mean-square error,MSE)法和百分位数(percentile)法等算法。并且,在根据浮点型数据的取值范围和定点型数据的取值范围得到缩放因子后,也存在多个计数保留法。例如,四舍五入法和向上取整(ceil)等算法。同时,每个校准算法在确定该一个算子中浮点型数据的最小值和最大值时,还可以调整参数的大小进行校准。例如,百分位数法可以调整百分比(percentage)参数为从0%到100%的任意值。

针对一个用于处理一个变量和一个权值的算子进行量化时,一般也可以选择每个通道量化(per channel quantization)法和每个张量量化(per tensor quantization)法等算法。

基于此,在对该一个算子进行量化时,为了尽可能的降低误差,以得到尽可能高的精度,本公开的电子设备中预先配置有多个预设量化算法。多个预设量化算法可以包括基于多个百分比参数的百分位数法和四舍五入法的多个量化算法,还可以包括基于多个百分比参数的百分位数法和向上取整法的多个量化算法,或者上述的任意一种可以对该一个算子进行量化的量化算法。在此不再一一列举。

具体的,在执行S1301后,若不存在第一模型时,则电子设备可以确定当前算子集合仅包括第i个算子。这种情况下,电子设备可以根据多个预设量化算法对第i个算子进行量化,以得到与多个预设量化算法一一对应的多个第二模型。

若存在第一模型时,则电子设备可以确定当前算子集合在包括第i个算子外,还包括至少一个目标算子。这种情况下,电子设备可以根据每个预设量化算法对第i个算子进行一次量化,以得到与多个预设量化算法一一对应的多个被量化后的第i个算子。接着,电子设备可以将每个被量化后的第i个算子和第一模型进行一次组合,以得到与多个预设量化算法一一对应的多个第二模型。

一种可能的示例中,结合上述S1002中的示例,在当前算子集合包括各算子对应的影响程度等级从低到高的顺序中的第一个算子(即算子d),且不存在目标算子时,电子设备可以执行S1301确定不存在第一模型,并根据多个预设量化算法对算子d进行量化,以得到与多个预设量化算法一一对应的多个第二模型。

进一步的,电子设备可以将多个第二模型中符合第二预设条件的第二模型确定为当前分类模型,并将符合第二预设条件的第二模型对应的量化算法确定为算子d对应的目标量化算法。具体的,该过程可以参照下述S1303和S1401的描述。

在当前算子集合更新为:算子d和第二个算子(即算子e)时,电子设备可以根据当前算子集合中的目标算子(即算子d)对应的目标量化算法,对算子d进行量化以得到第一模型。接着,电子设备基于该第一模型,根据多个预设量化算法对当前算子集合中的第i个算子(即算子e)进行量化,以得到与多个预设量化算法一一对应的多个第二模型。直至得到包括算子d、算子e和算子b的多个目标算子。

S1303、电子设备将多个第二模型中符合第二预设条件的第二模型确定为当前分类模型。

其中,第二预设条件包括:第二模型确定到的待分类信息的分类结果和初始分类模型确定到的待分类信息的分类结果之间的相对差距小于或等于预设阈值、且第二模型确定到分类结果的运行耗时小于或等于预设时长阈值。

一种可以实现的方式中,电子设备可以将多个第二模型中确定到的待分类信息的分类结果和初始分类模型确定到的待分类信息的分类结果之间的相对差距小于或等于预设阈值、且确定到分类结果的运行耗时最短的第二模型确定为预设第二模型,并将该预设第二模型确定到分类结果的运行耗时确定为预设时长阈值。

基于此,在得到多个第二模型后,电子设备可以将多个第二模型中确定到的待分类信息的分类结果和初始分类模型确定到的待分类信息的分类结果之间的相对差距小于或等于预设阈值、且确定到分类结果的运行耗时小于或等于预设时长阈值的第二模型确定为当前分类模型。也就是说,当前分类模型为多个第二模型中符合精度要求、且模型运行速度最快的第二模型。

上述实施例提供的技术方案至少带来以下有益效果:由S1301-S1303可知,给出了一种电子设备对当前算子集合中的每个算子进行量化,以得到当前分类模型的具体实现方式。电子设备可以在第一模型的基础上,以每个算子为单一变量的方式,通过多个预设量化算法对每个算子进行量化得到多个第二模型,从而在多个第二模型中确定到符合第二预设条件的当前分类模型,即将量化效果最好的第二模型确定为当前分类模型。因此,电子设备可以在已确定目标量化算法的目标算子的基础上,评估多个预设量化算法对一个算子的不同量化效果,从而甄别出最适合该一个算子的预设量化算法,实现对多个预设量化算法的优越性的差异化评估。

在一种可以实现的示例中,结合图14,如图15所示,本公开提供的信息分类模型生成方法还体包括:S1401。

S1401、电子设备将符合第二预设条件的第二模型对应的预设量化算法,确定为第i个算子对应的目标量化算法。

具体的,在多个第二模型中确定到当前分类模型后,电子设备可以将符合第二预设条件的第二模型对应的预设量化算法,确定为第i个算子对应的目标量化算法。这样一来,在当前分类模型符合第一预设条件时,电子设备可以当前算子集合中第i个算子确定为目标算子,并将第i个算子对应的目标量化算法确定为该目标算子对应的目标量化算法。

后续,在需要对该目标算子(即第i个算子)进行量化时,电子设备可以方便地根据该目标算子对应的目标量化算法,对该目标算子进行量化,从而加快了对初始分类模型进行量化的速度。

一种可能的示例中,结合上述S1002中的示例,在当前算子集合包括各算子对应的影响程度等级从低到高的顺序中的第一个算子(即算子d),且不存在目标算子时,若当前算子集合中的每个算子进行量化后得到的当前分类模型满足第一预设条件,则电子设备可以将当前算子集合中的第i个算子(即算子d)确定为目标算子,并将当前分类模型对应的量化算法确定为算子d对应的目标量化算法。

在当前算子集合更新为:算子d和第二个算子(即算子e)时,若当前算子集合中的每个算子进行量化后得到的当前分类模型满足第一预设条件,则电子设备可以将当前算子集合中的第i个算子(即算子e)确定为目标算子,并将当前分类模型对应的量化算法确定为算子e对应的目标量化算法。直至得到包括算子d、算子e和算子b的目标算子,以及算子d对应的目标量化算法、算子e对应的目标量化算法和算子b对应的目标量化算法。

上述实施例提供的技术方案至少带来以下有益效果:由S1401可知,电子设备在已确定目标量化算法的目标算子的基础上,从多个预设量化算法中确定到最适合当前算子集合中第i个算子的目标量化算法后,可以建立当前算子集合中第i个算子和目标量化算法的对应关系。这样,在将当前算子集合中第i个算子确定为目标算子后,电子设备可以方便地对该当前算子集合中第i个算子进行量化。

在一种可以实现的示例中,结合图11,在上述S1004中,电子设备对初始分类模型中的至少一个目标算子进行量化,生成用于确定待分类信息的分类结果的目标分类模型时,如图16所示,本公开提供一种可选的实现方式,具体包括:S1501。

S1501、电子设备根据各个目标算子对应的目标量化算法,对各个目标算子进行量化,生成目标分类模型。

具体的,在得到多个目标算子的同时,电子设备也得到了每个目标算子对应的目标量化算法。因此,电子设备可以根据各个目标算子对应的目标量化算法,对各个目标算子进行量化,以得到目标分类模型。

一种可能的示例中,结合S1401中的示例,多个目标算子包括有算子d、算子e和算子b。电子设备可以在根据算子d对应的目标量化算法对算子d进行量化后,再根据算子e对应的目标量化算法对算子e进行量化,并接着根据算子b对应的目标量化算法对算子b进行量化。这样,电子设备可以完成对初始分类模型的量化,以得到目标分类模型。

上述实施例提供的技术方案至少带来以下有益效果:由上述S1501可知,给出了一种电子设备对初始分类模型中的各个目标算子进行量化,得到目标分类模型的具体实现方式。在得到多个目标算子后,由于每个目标算子均对应有目标量化算法,因此,电子设备无需再对多个预设量化算法进行甄别,可以方便地通过各个目标算子对应的目标量化算法,对目标算子中各个目标算子进行量化,以得到目标分类模型。

在一种实施例中,在电子设备将多个第二模型中符合第二预设条件的第二模型确定为当前分类模型时,如图17所示,本公开提供的一种可选的实现方式,包括:S1601-S1602。

S1601、电子设备基于第二模型对待分类信息进行分类,得到第二模型的运行信息。

其中,运行信息包括第二模型确定到的待分类信息的分类结果和第二模型确定到分类结果的运行耗时。

具体的,电子设备在得到第二模型后,可以基于第二模型对待分类信息进行分类,并监测第二模型的运行过程。这样,电子设备可以得到第二模型确定到的待分类信息的分类结果。同时,电子设备可以监测第二模型启动运行和停止运行的时刻信息,以确定第二模型确定到分类结果的运行耗时。

S1602、电子设备当第二模型确定到的待分类信息的分类结果和初始分类模型确定到的待分类信息的分类结果之间的相对差距小于或等于预设阈值、且第二模型确定到分类结果的运行耗时小于或等于预设时长阈值时,确定第二模型为当前分类模型。

需要说明的是,由于初始分类模型中的大量参数为浮点型数据。因此,初始分类模型对待分类信息进行分类得到的分类结果具有良好的精度。基于此,为了准确的确定第二模型的误差,电子设备可以将第二模型确定到的待分类信息的分类结果和初始分类模型确定到的待分类信息的分类结果之间的相对差距,确定为第二模型的模型误差。

一种可能的方式中,电子设备可以通过第一公式,确定第二模型确定到的待分类信息的分类结果和初始分类模型确定到的待分类信息的分类结果之间的相对差距。第一公式为:

R=∑abs(r-Q)/∑(r)。

其中,R为第二模型确定到的待分类信息的分类结果和初始分类模型确定到的待分类信息的分类结果之间的相对差距(relative difference)。r为第二模型确定到的待分类信息的分类结果。Q为初始分类模型确定到的待分类信息的分类结果。∑abs用于表示求括号内值的绝对值。∑用于求括号内所有值之和。

上述实施例提供的技术方案至少带来以下有益效果:由上述S1601-S902可知,给出了一种电子设备将多个第二模型中符合第二预设条件的第二模型确定为当前分类模型的具体实现方式。电子设备可以基于第二模型对待分类信息进行分类,得到第二模型的运行信息,并在第二模型确定到的待分类信息的分类结果和初始分类模型确定到的待分类信息的分类结果之间的相对差距小于或等于预设阈值、且第二模型确定到分类结果的运行耗时小于或等于预设时长阈值时,确定第二模型为当前分类模型。这样一来,电子设备可以更准确的确定第二模型的量化效果,并更好的评估第二模型实际部署在GPU等协处理器上时的性能。

可以理解的,在实际实施时,本公开实施例所述的终端/服务器可以包含有用于实现前述对应图片分类模型生成方法的一个或多个硬件结构和/或软件模块,这些执行硬件结构和/或软件模块可以构成一个电子设备。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。

基于这样的理解,本公开实施例还对应提供一种图片分类模型生成装置。图18示出了本公开实施例提供的图片分类模型生成装置的结构示意图。如图18所示,该图片分类模型生成装置可以包括:获取单元1701、确定单元1702和处理单元1703;

获取单元1701,被配置为获取用于确定待分类图片的分类结果的初始分类模型;初始分类模型包括m个算子;任一算子用于针对待分类图片进行与图片分类关联的分类处理;m为正整数;

确定单元1702,被配置为根据各算子关联的分类处理的运算顺序和类型,确定各算子关联的分类处理对于待分类图片的分类结果的影响程度等级;

处理单元1703,被配置为按照各算子对应的影响程度等级从低到高的顺序依次对各算子执行量化判定操作,得到至少一个目标算子;量化判定操作用于将量化后所得分类模型满足第一预设条件的算子确定为目标算子;

处理单元1703,还被配置为对初始分类模型中的至少一个目标算子进行量化,生成用于确定待分类图片的分类结果的目标分类模型。

可选地,初始分类模型包括n个结构块;每个结构块包括至少一个算子;任一结构块用于针对待分类图片进行与图片分类关联的分类处理;n为小于m的正整数;确定单元1702,具体被配置为:确定n个结构块关联的分类处理的运算顺序;按照第一预设规则确定n个结构块关联的分类处理对于待分类图片的分类结果的影响程度等级;确定各结构块中至少一个算子关联的分类处理的运算顺序;按照第二预设规则确定各结构块中至少一个算子关联的分类处理对于待分类图片的分类结果的影响程度等级;根据n个结构块对应的影响程度等级和各结构块中至少一个算子对应的影响程度等级,确定各算子对应的影响程度等级。

可选地,第一预设规则包括:当n个结构块中的第一结构块和第二结构块均是预设类型结构块、且第一结构块的运算顺序位于第二结构块的运算顺序之前时,或者,当第一结构块是预设类型结构块、且第二结构块不是预设类型结构块时,或者,当第一结构块和第二结构块均不是预设类型结构块、且第一结构块的运算顺序位于第二结构块的运算顺序之前时,确定第一结构块的影响程度等级低于第二结构块;预设类型结构块为包括预设类型算子的结构块;预设类型算子为具备归一化功能的算子;第一结构块为n个结构块中的任意一个结构块;第二结构块为n个结构块中除第一结构块以外的任意一个结构块。

可选地,第二预设规则包括:当结构块中的第一算子的后一个算子和第二算子的后一个算子均是预设类型算子、且第一算子的运算顺序位于第二算子的运算顺序之前时,或者,当第一算子的后一个算子是预设类型算子、且第二算子的后一个算子不是预设类型算子时,或者,当第一算子的后一个算子和第二算子的后一个算子均不是预设类型算子、且第一算子的运算顺序位于第二算子的运算顺序之前时,确定第一算子的影响程度等级低于第二算子;第一算子为结构块中的任意一个算子;第二算子为结构块中除第一算子以外的任意一个结构块。

可选地,处理单元1703,具体被配置为:对当前算子集合中的每个算子进行量化,得到当前分类模型;当前算子集合包括:各算子对应的影响程度等级从低到高的顺序中的第i个算子和前i-1个算子中的目标算子;i为小于或等于m的正整数;当前分类模型为第i个算子对应的量化后所得模型;当当前分类模型符合第一预设条件时,将第i个算子确定为目标算子,并更新i的取值;第一预设条件包括:当前分类模型确定到的待分类图片的分类结果和初始分类模型确定到的待分类图片的分类结果之间的相对差距小于或等于预设阈值、且当前分类模型确定到分类结果的运行耗时小于当前时长阈值;当前时长阈值为量化当前算子集合中的每个目标算子后所得分类模型确定到分类结果的运行耗时;当当前分类模型不符合第一预设条件时,更新i的取值;重复对当前算子集合中的每个算子进行量化,直至i大于m时,得到至少一个目标算子。

可选地,处理单元1703,具体被配置为:根据当前算子集合中每个目标算子对应的目标量化算法,对每个目标算子进行量化,得到第一模型;基于第一模型,根据多个预设量化算法分别对第i个算子进行量化,得到与多个预设量化算法一一对应的多个第二模型;将多个第二模型中符合第二预设条件的第二模型,确定为当前分类模型。

可选地,确定单元1702,还被配置为将符合第二预设条件的第二模型对应的预设量化算法,确定为第i个算子对应的目标量化算法。

可选地,处理单元1703,具体被配置为:根据各个目标算子对应的目标量化算法,对各个目标算子进行量化,生成目标分类模型。

可选地,第二预设条件包括:第二模型确定到的待分类图片的分类结果和初始分类模型确定到的待分类图片的分类结果之间的相对差距小于或等于预设阈值、且第二模型确定到分类结果的运行耗时小于或等于预设时长阈值;处理单元1703,具体被配置为:基于第二模型对待分类图片进行分类,得到第二模型的运行信息;运行信息包括第二模型确定到的待分类图片的分类结果和第二模型确定到分类结果的运行耗时;当第二模型确定到的待分类图片的分类结果和初始分类模型确定到的待分类图片的分类结果之间的相对差距小于或等于预设阈值、且第二模型确定到分类结果的运行耗时小于或等于预设时长阈值时,确定第二模型为当前分类模型。

基于这样的理解,本公开实施例还对应提供一种信息分类模型生成装置。图19示出了本公开实施例提供的信息分类模型生成装置的结构示意图。如图19所示,该信息分类模型生成装置可以包括:获取单元1801、确定单元1802和处理单元1803;

获取单元1801,被配置为获取用于确定待分类信息的分类结果的初始分类模型;初始分类模型包括m个算子;任一算子用于针对待分类信息进行与信息分类关联的分类处理;m为正整数;

确定单元1802,被配置为根据各算子关联的分类处理的运算顺序和类型,确定各算子关联的分类处理对于待分类信息的分类结果的影响程度等级;

处理单元1803,被配置为按照各算子对应的影响程度等级从低到高的顺序依次对各算子执行量化判定操作,得到至少一个目标算子;量化判定操作用于将量化后所得分类模型满足第一预设条件的算子确定为目标算子;

处理单元1803,还被配置为对初始分类模型中的至少一个目标算子进行量化,生成用于确定待分类信息的分类结果的目标分类模型。

可选地,初始分类模型包括n个结构块;每个结构块包括至少一个算子;任一结构块用于针对待分类信息进行与信息分类关联的分类处理;n为小于m的正整数;确定单元1802,具体被配置为:确定n个结构块关联的分类处理的运算顺序;按照第一预设规则确定n个结构块关联的分类处理对于待分类信息的分类结果的影响程度等级;确定各结构块中至少一个算子关联的分类处理的运算顺序;按照第二预设规则确定各结构块中至少一个算子关联的分类处理对于待分类信息的分类结果的影响程度等级;根据n个结构块对应的影响程度等级和各结构块中至少一个算子对应的影响程度等级,确定各算子对应的影响程度等级。

可选地,第一预设规则包括:当n个结构块中的第一结构块和第二结构块均是预设类型结构块、且第一结构块的运算顺序位于第二结构块的运算顺序之前时,或者,当第一结构块是预设类型结构块、且第二结构块不是预设类型结构块时,或者,当第一结构块和第二结构块均不是预设类型结构块、且第一结构块的运算顺序位于第二结构块的运算顺序之前时,确定第一结构块的影响程度等级低于第二结构块;预设类型结构块为包括预设类型算子的结构块;预设类型算子为具备归一化功能的算子;第一结构块为n个结构块中的任意一个结构块;第二结构块为n个结构块中除第一结构块以外的任意一个结构块。

可选地,第二预设规则包括:当结构块中的第一算子的后一个算子和第二算子的后一个算子均是预设类型算子、且第一算子的运算顺序位于第二算子的运算顺序之前时,或者,当第一算子的后一个算子是预设类型算子、且第二算子的后一个算子不是预设类型算子时,或者,当第一算子的后一个算子和第二算子的后一个算子均不是预设类型算子、且第一算子的运算顺序位于第二算子的运算顺序之前时,确定第一算子的影响程度等级低于第二算子;第一算子为结构块中的任意一个算子;第二算子为结构块中除第一算子以外的任意一个结构块。

可选地,处理单元1803,具体被配置为:对当前算子集合中的每个算子进行量化,得到当前分类模型;当前算子集合包括:各算子对应的影响程度等级从低到高的顺序中的第i个算子和前i-1个算子中的目标算子;i为小于或等于m的正整数;当前分类模型为第i个算子对应的量化后所得模型;当当前分类模型符合第一预设条件时,将第i个算子确定为目标算子,并更新i的取值;第一预设条件包括:当前分类模型确定到的待分类信息的分类结果和初始分类模型确定到的待分类信息的分类结果之间的相对差距小于或等于预设阈值、且当前分类模型确定到分类结果的运行耗时小于当前时长阈值;当前时长阈值为量化当前算子集合中的每个目标算子后所得分类模型确定到分类结果的运行耗时;当当前分类模型不符合第一预设条件时,更新i的取值;重复对当前算子集合中的每个算子进行量化,直至i大于m时,得到至少一个目标算子。

可选地,处理单元1803,具体被配置为:根据当前算子集合中每个目标算子对应的目标量化算法,对每个目标算子进行量化,得到第一模型;基于第一模型,根据多个预设量化算法分别对第i个算子进行量化,得到与多个预设量化算法一一对应的多个第二模型;将多个第二模型中符合第二预设条件的第二模型,确定为当前分类模型。

可选地,确定单元1802,还被配置为将符合第二预设条件的第二模型对应的预设量化算法,确定为第i个算子对应的目标量化算法。

可选地,处理单元1803,具体被配置为:根据各个目标算子对应的目标量化算法,对各个目标算子进行量化,生成目标分类模型。

可选地,第二预设条件包括:第二模型确定到的待分类信息的分类结果和初始分类模型确定到的待分类信息的分类结果之间的相对差距小于或等于预设阈值、且第二模型确定到分类结果的运行耗时小于或等于预设时长阈值;处理单元1803,具体被配置为:基于第二模型对待分类信息进行分类,得到第二模型的运行信息;运行信息包括第二模型确定到的待分类信息的分类结果和第二模型确定到分类结果的运行耗时;当第二模型确定到的待分类信息的分类结果和初始分类模型确定到的待分类信息的分类结果之间的相对差距小于或等于预设阈值、且第二模型确定到分类结果的运行耗时小于或等于预设时长阈值时,确定第二模型为当前分类模型。

如上所述,本公开实施例可以根据上述方法示例对服务端进行功能模块的划分。其中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。另外,还需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。

关于上述实施例中的图片分类模型生成装置和信息分类模型生成装置,其中各个模块执行操作的具体方式、以及具备的有益效果,均已经在前述方法实施例中进行了详细描述,此处不再赘述。

本公开实施例还提供一种终端,终端可以是手机、电脑等用户终端。图20示出了本公开实施例提供的终端的结构示意图。该终端可以是图片分类模型生成装置和/或信息分类模型生成装置,可以包括至少一个处理器61,通信总线62,存储器63以及至少一个通信接口64。

处理器61可以是一个处理器(central processing units,CPU),微处理单元,ASIC,或一个或多个用于控制本公开方案程序执行的集成电路。

通信总线62可包括一通路,在上述组件之间传送信息。

通信接口64,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如服务器、以太网,无线接入网(radio access network,RAN),无线局域网(wireless localarea networks,WLAN)等。

存储器63可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理单元相连接。存储器也可以和处理单元集成在一起。

其中,存储器63用于存储执行本公开方案的应用程序代码,并由处理器61来控制执行。处理器61用于执行存储器63中存储的应用程序代码,从而实现本公开方法中的功能。

在具体实现中,作为一种实施例,处理器61可以包括一个或多个CPU,例如图20中的CPU0和CPU1。

在具体实现中,作为一种实施例,终端可以包括多个处理器,例如图20中的处理器61和处理器65。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

在具体实现中,作为一种实施例,终端还可以包括输入设备66和输出设备67。输入设备66和输出设备67通信,可以以多种方式接受用户的输入。例如,输入设备66可以是鼠标、键盘、触摸屏设备或传感设备等。输出设备67和处理器61通信,可以以多种方式来显示信息。例如,输出设备61可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备等。

本领域技术人员可以理解,图20中示出的结构并不构成对终端的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

本公开实施例还提供一种服务器。图21示出了本公开实施例提供的服务器的结构示意图。该服务器可以是图片分类模型生成装置和/或信息分类模型生成装置。该服务器可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器71和一个或一个以上的存储器72。其中,存储器72中存储有至少一条指令,至少一条指令由处理器71加载并执行以实现上述各个方法实施例提供的图片分类模型生成方法,和/或上述所示实施例提供的信息分类模型生成方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。

本公开还提供了一种包括指令的计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述计算机可读存储介质中的指令由计算机设备的处理器执行时,使得计算机能够执行上述所示实施例提供的图片分类模型生成方法,和/或上述所示实施例提供的信息分类模型生成方法。例如,计算机可读存储介质可以为包括指令的存储器63,上述指令可由终端的处理器61执行以完成上述方法。又例如,计算机可读存储介质可以为包括指令的存储器72,上述指令可由服务器的处理器71执行以完成上述方法。可选地,计算机可读存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。

本公开还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行上述图3-图10任一附图所示的图片分类模型生成方法,和/或上述图11-图17任一附图所示的信息分类模型生成方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

技术分类

06120115890559