CN116701923B - 算子性能的评估方法和评估装置 - Google Patents
算子性能的评估方法和评估装置 Download PDFInfo
- Publication number
- CN116701923B CN116701923B CN202211251832.1A CN202211251832A CN116701923B CN 116701923 B CN116701923 B CN 116701923B CN 202211251832 A CN202211251832 A CN 202211251832A CN 116701923 B CN116701923 B CN 116701923B
- Authority
- CN
- China
- Prior art keywords
- operators
- operator
- model
- evaluated
- instruction
- 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
- 238000011156 evaluation Methods 0.000 title claims abstract description 146
- 238000000034 method Methods 0.000 claims abstract description 92
- 238000012549 training Methods 0.000 claims abstract description 58
- 238000012545 processing Methods 0.000 claims description 72
- 238000007667 floating Methods 0.000 claims description 41
- 238000012417 linear regression Methods 0.000 claims description 34
- 238000004088 simulation Methods 0.000 claims description 25
- 238000003066 decision tree Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 7
- 238000001914 filtration Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 101150071111 FADD gene Proteins 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005260 corrosion Methods 0.000 description 1
- 230000007797 corrosion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了一种算子性能的评估方法和评估装置,可以提高算子的性能评估效率。本申请提供的方法可以包括:获取多个算子的特征数据,多个算子的特征数据基于多个算子中每个算子的程序代码得到;将多个算子的特征数据和多个算子的性能评估结果作为训练样本对第一初始模型进行训练,得到第一模型,其中,多个算子的特征数据为第一初始模型的输入,多个算子的性能评估结果为多个算子的特征数据的标签,第一模型用于对待评估算子进行性能评估。当获取待评估算子的特征数据时,可以将待评估算子的特征数据输入至第一模型,得到待评估算子的性能评估结果。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种算子性能的评估方法和评估装置。
背景技术
终端设备的很多应用都需要人工智能(artificial intelligence,AI)算子进行封装和开发。例如,终端设备的相机应用,在拍照或者录像过程中,可以通过滤波类算子如盒子滤波(Box Filter)消除摄像头获取的图像的噪声,还可以响应于用户的缩放操作,通过插值类算子如最近邻插值对摄像头获取的图像进行缩放。AI算子的性能决定应用呈现的效果,影响用户的体验。
目前,AI算子性能的评估结果是依靠专家对算子的程序代码进行分析后,根据经验得到的。这种实现方式,依靠人工对AI算子性能进行评估,评估效率较低。
因此,亟需一种算子性能的评估方法,可以提高算子的性能评估效率,以便于后续指导算子优化。
发明内容
本申请提供一种算子性能的评估方法和评估装置,可以提高算子的性能评估效率。
第一方面,提供了一种算子性能的评估方法,包括:获取多个算子的特征数据,多个算子的特征数据基于多个算子中每个算子的程序代码得到;将多个算子的特征数据和多个算子的性能评估结果作为训练样本对第一初始模型进行训练,得到第一模型,其中,多个算子的特征数据为第一初始模型的输入,多个算子的性能评估结果为多个算子的特征数据的标签,第一模型用于对待评估算子进行性能评估。
本申请涉及的多个算子主要是可以应用于相机应用的算子,但本申请并不限于此。本申请涉及的多个算子还可以为应用于其他应用的算子,例如浏览器应用。不同应用涉及的算子不同,为了保证方法的准确性,上述多个算子一般为应用于同一个应用的算子,该应用可以是相机应用、浏览器应用或者其他应用。
多个算子的特征数据包括多个算子中每个算子的特征数据,该每个算子的特征数据是基于每个算子的程序代码得到的。其中,特征数据用于表示对算子的程序代码提取特征得到的数据。
在一种可能的示例中,特征数据可以包括:加载存储指令对应的数据、普通整数运算指令对应的数据、整数乘法运算指令对应的数据、普通浮点运算指令对应的数据、浮点乘法运算指令对应的数据、以及跳转指令对应的数据。
在另一种可能的示例中,特征数据可以包括加载存储指令对应的数据、普通整数运算指令对应的数据、整数乘法运算指令对应的数据、整数除法运算指令对应的数据、普通浮点运算指令对应的数据、浮点乘法运算指令对应的数据、浮点除法运算指令对应的数据、以及跳转指令对应的数据。
上述多个算子的特征数据可以是处理设备对多个算子中每个算子的程序代码提取特征得到的,也可以是其他设备(例如仿真平台)对多个算子中每个算子的程序代码提取特征得到的,并发送至处理设备的,本申请对此不作限定。
专家可以根据经验对多个算子中每个算子的程序代码进行分析,得到多个算子的性能评估结果。该多个算子的性能评估结果可以作为这多个算子的特征数据的标签以训练模型。处理设备可以将多个算子的特征数据和多个算子的性能评估结果作为训练样本对第一初始模型进行训练,得到第一模型,也就是将多个算子的特征数据作为第一初始模型的输入,将多个算子的性能评估结果作为第一初始模型的输出,训练第一初始模型中的参数,得到第一模型,第一模型可以用于对待评估算子进行性能评估。
本申请提供的算子性能的评估方法,通过多个算子的特征数据和所述多个算子的性能评估结果训练第一模型,使其可以对待评估算子进行性能评估,不需要人工对待评估算子进行性能评估,可以节省人力,提高算子的性能评估效率。
结合第一方面,在第一方面的某些实现方式中,获取多个算子的特征数据,包括:根据算子属性对多个算子进行分类,得到多类算子;获取多类算子中每类算子的特征数据;将多个算子的特征数据和多个算子的性能评估结果作为训练样本对第一初始模型进行训练,得到第一模型,包括:将每类算子的特征数据和每类算子的性能评估结果作为训练样本对第一初始模型进行训练,得到多个第一模型,多个第一模型与多类算子一一对应,多个第一模型中每个第一模型用于对对应类的待评估算子进行性能评估。
每个算子均具有算子属性,不同算子的算子属性可以相同,也可以不同。处理设备可以将算子属性相同的算子划分为一类,这样,根据算子属性对多个算子进行分类,可以得到多类算子。可以理解的是,该多类算子中每类算子对应一个算子属性。
处理设备可以针对每类算子训练一个第一模型,以用于对该类的待评估算子进行性能评估。具体地,处理设备可以将每类算子的特征数据和每类算子的性能评估结果作为训练样本对第一初始模型进行训练,得到多个第一模型,也就是说,将每类算子的特征数据作为第一初始模型的输入,将每类算子的性能评估结果作为第一初始模型的输出,训练第一初始模型的参数,得到多个第一模型。
在一种可能的示例中,算子属性包括内存受限属性和计算受限属性。处理设备可以根据这两个算子属性对多个算子进行分类,可以得到两类算子,这两类算子中一类算子对应内存受限属性,另一类算子对应计算受限属性。这两类算子中一类算子对应的第一模型可以用于对内存受限属性的算子进行性能评估,另一类算子对应的第一模型可以用于对计算受限属性的算子进行性能评估。
在另一种可能的示例中,算子属性包括内存受限属性、计算受限属性以及缓存缺失受限属性。处理设备可以根据这三个算子属性对多个算子进行分类,可以得到三类算子,这三类算子可以分别为第一类算子、第二类算子以及第三类算子。第一类算子可以对应内存受限属性,第二类算子可以对应计算受限属性,第三类算子可以对应缓存缺失受限属性。第一类算子对应的第一模型可以用于对内存受限属性的算子进行性能评估,第二类算子对应的第一模型可以用于对计算受限属性的算子进行性能评估,第三类算子对应的第一模型可以用于对缓存缺失受限属性进行性能评估。其中,若第一模型为线性回归模型,第一类算子对应的第一模型可以为线性回归模型1、第二类算子对应的第一模型可以为线性回归模型2、第三类算子对应的第一模型可以为线性回归模型3。
本申请提供的算子性能的评估方法,可以基于算子属性对多个算子进行分类,并对每一类算子训练一个第一模型,使其可以对这一类别的待评估算子进行性能评估,该方法训练的第一模型可以精准地对一类算子进行性能评估,可以提高性能评估的准确性。
结合第一方面,在第一方面的某些实现方式中,方法还包括:将多个算子的特征数据和多个算子的算子属性作为训练样本对第二初始模型进行训练,得到第二模型,其中,多个算子的特征数据为第二初始模型的输入,多个算子的算子属性为多个算子的特征数据的标签,第二模型用于识别待评估算子的算子属性。
多个算子的算子属性是专家基于多个算子的程序代码确定的,处理器可以将多个算子的算子属性作为多个算子的特征数据的标签,将多个算子的特征数据作为第二初始模型的输入,将多个算子的算子属性作为第二初始模型的输出,训练第二初始模型的参数,得到第二模型,以用于识别待评估算子的算子属性。
本申请提供的方法,训练第二模型,以用于识别待评估算子的算子属性,相比于专家根据经验得到待评估算子的算子属性,有利于提高确定待评估算子的算子属性的效率,进而可以提高基于算子属性对多个算子进行分类的效率。
结合第一方面,在第一方面的某些实现方式中,算子属性包括以下至少一个:内存受限属性、计算受限属性或者缓存缺失受限属性。
结合第一方面,在第一方面的某些实现方式中,获取多个算子的特征数据,包括:接收来自仿真平台的多个算子特征数据,仿真平台用于在预设运行参数下对多个算子中每个算子的程序代码提取特征数据。
不同运行参数下提取的特征数据不同,在提取特征数据之前,技术人员可以提前预设运行参数,仿真平台在预设运行参数下对多个算子中每个算子的程序代码提取特征数据。其中,预设运行参数可以包括运行频率和/或运行内存等参数,本申请对预设运行参数不作限定。
本申请提供的方法,通过仿真平台提取特征数据,无需处理设备执行提取特征数据的步骤,可以节省计算能力。
结合第一方面,在第一方面的某些实现方式中,特征数据包括以下至少一个:加载存储指令对应的数据、普通整数运算指令对应的数据、整数乘法运算指令对应的数据、整数除法运算指令对应的数据、普通浮点运算指令对应的数据、浮点乘法运算指令对应的数据、浮点除法运算指令对应的数据、或者跳转指令对应的数据。
结合第一方面,在第一方面的某些实现方式中,第一模型为线性回归模型,第二模型为决策树模型。
第二方面,提供一种算子性能的评估方法,包括:获取待评估算子的特征数据;将待评估算子的特征数据输入至第一模型,得到待评估算子的性能评估结果,第一模型是基于多个算子的特征数据和多个算子的性能评估结果训练得到,并用于对算子进行性能评估。
待评估算子的特征数据可以是处理设备对待评估算子的程序代码提取特征得到的,也可以是其他设备(例如仿真平台)对待评估算子的程序代码提取特征得到的,并发送至处理设备的,本申请对此不作限定。
本申请提供的算子性能的评估方法,通过第一模型对待评估算子进行性能评估,相比于专家根据经验进行评估,可以节省人力,提高性能评估效率。
结合第二方面,在第二方面的某些实现方式中,在将待评估算子的特征数据输入至第一模型之前,方法还包括:将待评估算子的特征数据输入至第二模型,得到待评估算子的算子属性,第二模型基于多个算子的特征数据和多个算子的算子属性训练得到,并用于识别算子的算子属性;基于待评估算子的算子属性,确定待评估算子的类别;将待评估算子的类别对应的模型确定为第一模型。
若第一模型在训练时是基于算子属性分类训练的,处理设备可以将待评估算子的特征数据输入至第二模型,得到待评估算子的算子属性,并基于待评估算子的算子属性,确定第一模型。
本申请提供的算子性能的评估方法,通过第二模型识别待评估算子的算子属性,相比人工识别,可以提高识别效率,基于算子属性确定用于性能评估的第一模型,可以更精准地对待评估算子进行性能评估,有利于提高性能评估的准确性。
结合第二方面,在第二方面的某些实现方式中,算子属性包括以下至少一个:内存受限属性、计算受限属性或者缓存缺失受限属性。
结合第二方面,在第二方面的某些实现方式中,获取待评估算子的特征数据,包括:接收来自仿真平台的待评估算子的特征数据,仿真平台用于在预设运行参数下对待评估算子的程序代码提取特征数据。
结合第二方面,在第二方面的某些实现方式中,特征数据包括以下至少一个:加载存储指令对应的数据、普通整数运算指令对应的数据、整数乘法运算指令对应的数据、整数除法运算指令对应的数据、普通浮点运算指令对应的数据、浮点乘法运算指令对应的数据、浮点除法运算指令对应的数据、或者跳转指令对应的数据。
结合第二方面,在第二方面的某些实现方式中,第一模型为线性回归模型,第二模型为决策树模型。
第三方面,提供了一种算子性能的评估装置,包括:获取模块和处理模块。其中,获取模块用于:获取多个算子的特征数据,多个算子的特征数据基于多个算子中每个算子的程序代码得到;处理模块用于:将多个算子的特征数据和多个算子的性能评估结果作为训练样本对第一初始模型进行训练,得到第一模型,其中,多个算子的特征数据为第一初始模型的输入,多个算子的性能评估结果为多个算子的特征数据的标签,第一模型用于对待评估算子进行性能评估。
结合第三方面,在第三方面的某些实现方式中,上述处理模块还用于:根据算子属性对多个算子进行分类,得到多类算子;上述获取模块还用于:获取多类算子中每类算子的特征数据;上述处理模块还用于:将每类算子的特征数据和每类算子的性能评估结果作为训练样本对第一初始模型进行训练,得到多个第一模型,多个第一模型与多类算子一一对应,多个第一模型中每个第一模型用于对对应类的待评估算子进行性能评估。
结合第三方面,在第三方面的某些实现方式中,上述处理模块还用于:将多个算子的特征数据和多个算子的算子属性作为训练样本对第二初始模型进行训练,得到第二模型,其中,多个算子的特征数据为第二初始模型的输入,多个算子的算子属性为多个算子的特征数据的标签,第二模型用于识别待评估算子的算子属性。
结合第三方面,在第三方面的某些实现方式中,算子属性包括以下至少一个:内存受限属性、计算受限属性或者缓存缺失受限属性。
结合第三方面,在第三方面的某些实现方式中,上述评估装置还包括接收模块。接收模块用于:接收来自仿真平台的多个算子特征数据,仿真平台用于在预设运行参数下对多个算子中每个算子的程序代码提取特征数据。
结合第三方面,在第三方面的某些实现方式中,特征数据包括以下至少一个:加载存储指令对应的数据、普通整数运算指令对应的数据、整数乘法运算指令对应的数据、整数除法运算指令对应的数据、普通浮点运算指令对应的数据、浮点乘法运算指令对应的数据、浮点除法运算指令对应的数据、或者跳转指令对应的数据。
结合第三方面,在第三方面的某些实现方式中,第一模型为线性回归模型,第二模型为决策树模型。
第四方面,提供一种算子性能的评估装置,包括:获取模块和处理模块。其中,获取模块用于:获取待评估算子的特征数据;处理模块用于:将待评估算子的特征数据输入至第一模型,得到待评估算子的性能评估结果,第一模型是基于多个算子的特征数据和多个算子的性能评估结果训练得到,并用于对算子进行性能评估。
结合第四方面,在第四方面的某些实现方式中,上述处理模块还用于:将待评估算子的特征数据输入至第二模型,得到待评估算子的算子属性,第二模型基于多个算子的特征数据和多个算子的算子属性训练得到,并用于识别算子的算子属性;基于待评估算子的算子属性,确定待评估算子的类别;将待评估算子的类别对应的模型确定为第一模型。
结合第四方面,在第四方面的某些实现方式中,算子属性包括以下至少一个:内存受限属性、计算受限属性或者缓存缺失受限属性。
结合第四方面,在第四方面的某些实现方式中,上述评估装置还包括接收模块。接收模块用于:接收来自仿真平台的待评估算子的特征数据,仿真平台用于在预设运行参数下对待评估算子的程序代码提取特征数据。
结合第四方面,在第四方面的某些实现方式中,特征数据包括以下至少一个:加载存储指令对应的数据、普通整数运算指令对应的数据、整数乘法运算指令对应的数据、整数除法运算指令对应的数据、普通浮点运算指令对应的数据、浮点乘法运算指令对应的数据、浮点除法运算指令对应的数据、或者跳转指令对应的数据。
结合第四方面,在第四方面的某些实现方式中,第一模型为线性回归模型,第二模型为决策树模型。
第五方面,本申请提供了一种算子性能的评估装置,包括处理器,该处理器与存储器耦合,可用于执行存储器中的指令,以实现上述任一方面中任一种可能实现方式中的方法。可选地,该评估装置还包括存储器。可选地,该评估装置还包括收发器,处理器与收发器耦合。
第六方面,本申请提供了一种处理器,包括:输入电路、输出电路和处理电路。处理电路用于通过输入电路接收信号,并通过输出电路发射信号,使得处理器执行上述任一方面中任一种可能实现方式中的方法。
在具体实现过程中,上述处理器可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请对处理器及各种电路的具体实现方式不做限定。
第七方面,本申请提供了一种处理装置,包括处理器和存储器。该处理器用于读取存储器中存储的指令,并可通过接收器接收信号,通过发射器发射信号,以执行上述任一方面中任一种可能实现方式中的方法。
可选地,处理器为一个或多个,存储器为一个或多个。
可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型以及存储器与处理器的设置方式不做限定。
应理解,相关的数据交互过程例如发送指示信息可以为从处理器输出指示信息的过程,接收能力信息可以为处理器接收输入能力信息的过程。具体地,处理输出的数据可以输出给发射器,处理器接收的输入数据可以来自接收器。其中,发射器和接收器可以统称为收发器。
上述第七方面中的处理装置可以是一个芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第八方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述任一方面中任一种可能实现方式中的方法。
第九方面,本申请提供了一种计算机程序产品,计算机程序产品包括:计算机程序(也可以称为代码,或指令),当计算机程序被运行时,使得计算机执行上述任一方面中任一种可能实现方式中的方法。
附图说明
图1是一种手机录像的示意图;
图2是本申请实施例提供的一种算子性能的评估方法的示意性流程图;
图3是本申请实施例提供的一种模型训练的示意性框图;
图4是本申请实施例提供的另一种算子性能的评估方法的示意性流程图;
图5是本申请实施例提供的一种对待评估算子进行性能评估的示意性框图;
图6是本申请实施例提供的一种算子性能的评估装置的示意性框图;
图7是本申请实施例提供的另一种算子性能的评估装置的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
此外,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b和c中的至少一项(个),可以表示:a,或b,或c,或a和b,或a和c,或b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
终端设备例如手机可以包括相机应用。手机的相机应用可以包括录像和拍照等功能。手机的录像功能可以帮助用户记录一段精彩难忘的时间,手机的拍照功能可以帮助用户记录精彩的瞬间。手机在拍照或者录像过程中,为了保证照片或者视频的清晰度,一般采用AI算子对其进行预处理,例如,手机可以通过滤波类算子如盒子滤波(Box Filter)消除摄像头获取的图像的噪声,还可以响应于用户的缩放操作,通过插值类算子如最近邻插值对摄像头获取的图像进行缩放。
示例性地,图1示出了一种手机录像的示意图。如图1所示,图1中的a界面为手机录像前的界面,此时并未开始录像,故该界面中显示录像的时长为00:00:00,00:00:00用于表示0时0分0秒。该界面还显示有开始录像的图标101和翻转图标102。用户可以通过点击开始录像的图标101启动手机的摄像头开始录像,可以通过点击翻转图标102转换录像的摄像头。除此之外,在该界面的左下角还显示有历史图片或者视频的缩略图,即在此之前,用户通过相机应用的拍照功能得到的照片的缩略图或者通过相机应用的录像功能得到的视频的缩略图。
在图1中的a界面中,当手机检测到用户触发开始录像的图标101对应的控件后,通过手机的摄像头开始录像,如图1中的b界面所示。在图1中的b界面中,显示结束录像的图标103以及拍照按钮104。用户可以通过点击结束录像的图标103结束录像,可以通过点击拍照按钮104在录像过程中拍照。手机录像后开始计时,图1中的b界面中显示录像的时长为00:00:01,00:00:01用于表示此时已经录像了1秒钟。手机录像的画面是经盒子滤波消除噪声后的画面。
在录像过程中,当手机检测到用户触发了拍照按钮104对应的控件后,可以通过手机的摄像头进行拍照得到照片,并将该照片传输至相机应用以供用户查看。可以理解的是,该照片也是经盒子滤波消除噪声后的照片。
当手机检测到用户触发了结束录像的图标103对应的控件后,可以显示图1中的c界面。如图1中的c界面所示,在该界面的左下角可以显示通过录像得到的视频的缩略图。用户可以通过点击界面左下角的缩略图查看录像得到的视频,还可以在查看录像界面左滑以查看录像过程中拍摄的照片。
AI算子的性能决定应用呈现的效果,影响用户的体验,故这些算子一般是优化后的算子,也就是达到性能要求的算子。在开发过程中,技术人员可以对开发的算子进行性能评估,根据性能评估的结果对其进行优化,以便于达到性能要求。技术人员可以将达到性能要求的算子预设在终端设备例如手机中,以更好为用户服务。其中,算子的性能评估目前是依靠专家分析算子的程序代码根据经验得到的,也就是依靠人工去分析,评估效率较低。
示例性地,在上述图1所示的示例中,若盒子滤波的性能不佳,手机录像的画面或者手机拍摄的照片的清晰度无法保证。盒子滤波可以应用在手机的相机应用中,是可以达到性能要求的算子。在盒子滤波开发过程中,技术人员可以通过专家对开发的算子进行性能评估,并根据专家的性能评估的结果对其进行优化,以便于达到性能要求,得到盒子滤波。
这种实现方式,依靠人工对AI算子性能进行评估,评估效率较低。
有鉴于此,本申请实施例提供了一种算子性能的评估方法和评估装置,可以提高评估效率,以便于后续指导算子优化。
图2示出了一种算子性能的评估方法200的示意性流程图。该方法200可以由处理设备执行。如图2所示,该方法200可以包括如下步骤:
S201、获取多个算子的特征数据,多个算子的特征数据基于多个算子中每个算子的程序代码得到。
本申请实施例涉及的算子可以包括上述盒子滤波和最近邻插值,但本申请实施例并不限于此。本申请实施例涉及的多个算子主要是可以应用于相机应用的算子,但本申请实施例并不限于此。
示例性地,多个算子是应用于相机应用的算子,具体可以如表一所示。
表一
如表一所示,算子的数量为22,这22个算子的编号分别为01至22,其中,编号01至03的算子为滤波类算子,编号04至06的算子为插值类算子,编号07至12的算子为格式转换类算子,编号13和14的算子为膨胀腐蚀类算子,编号15和16的算子为图像金字塔类算子,编号17和18的算子为霍夫变换类算子,编号19至21的算子为边缘检测类算子,编号22的算子为仿射变换类算子。编号所对应的算子的程序名称算法如表一所示,此处不再赘述。
需要说明的是,本申请实施例涉及的多个算子还可以为应用于其他应用的算子,例如浏览器应用。不同应用涉及的算子不同,为了保证方法的准确性,上述多个算子一般为应用于同一个应用的算子,该应用可以是相机应用、浏览器应用或者其他应用。
多个算子的特征数据包括多个算子中每个算子的特征数据,该每个算子的特征数据是基于每个算子的程序代码得到的。其中,特征数据用于表示对算子的程序代码提取特征得到的数据。
示例性地,若多个算子为上述表一所示的编号01至编号22的算子,多个算子的特征数据包括这22个算子中每个算子的特征数据。
可选地,特征数据包括以下至少一个:加载存储指令对应的数据、普通整数运算指令对应的数据、整数乘法运算指令对应的数据、整数除法运算指令对应的数据、普通浮点运算指令对应的数据、浮点乘法运算指令对应的数据、浮点除法运算指令对应的数据、或者跳转指令对应的数据。
加载存储指令对应的数据用于表示对算子的程序代码提取加载存储指令得到的数据。普通整数运算指令对应的数据用于表示对算子的程序代码提取普通整数运算指令得到的数据。其他相似,此处不再赘述。
在一种可能的示例中,特征数据可以包括:加载存储指令对应的数据、普通整数运算指令对应的数据、整数乘法运算指令对应的数据、普通浮点运算指令对应的数据、浮点乘法运算指令对应的数据、以及跳转指令对应的数据。
在另一种可能的示例中,特征数据可以包括加载存储指令对应的数据、普通整数运算指令对应的数据、整数乘法运算指令对应的数据、整数除法运算指令对应的数据、普通浮点运算指令对应的数据、浮点乘法运算指令对应的数据、浮点除法运算指令对应的数据、以及跳转指令对应的数据。
示例性地,特征数据可以如表二所示。
表二
编号 | 特征 | 特征数据 |
01 | 加载存储指令(load-store) | ldr,str |
02 | 普通整数运算指令 | add,sub,orn,orr |
03 | 整数乘法运算指令 | mul,mla,mla |
04 | 整数除法运算指令 | sdiv,udiv |
05 | 普通浮点运算指令 | fadd,fsub,fabs |
06 | 浮点乘法运算指令 | fmul,fmadd,fmsub |
07 | 浮点除法运算指令 | fdiv |
08 | 跳转指令 | b,br,bl |
如表二所示,特征包括8个,这8个特征编号分别为01至08。特征数据可以对上述算子01的程序代码提取特征得到的,例如,提取的加载存储指令对应的数据包括ldr和str;提取的普通整数运算指令对应的数据包括add,sub,orn以及orr;提取的整数乘法运算指令对应的数据包括mul,mla以及mla;提取的整数除法运算指令对应的数据包括sdiv和udiv;提取的普通浮点运算指令对应的数据包括fadd,fsub以及fabs;提取的浮点乘法运算指令对应的数据包括fmul,fmadd以及fmsub;提取的浮点除法运算指令对应的数据包括fdiv;提取的跳转指令对应的数据包括b,br以及bl。
上述多个算子的特征数据可以是处理设备对多个算子中每个算子的程序代码提取特征得到的,也可以是其他设备(例如仿真平台)对多个算子中每个算子的程序代码提取特征得到的,并发送至处理设备的,本申请实施例对此不作限定。
若多个算子的特征数据是仿真平台对多个算子中每个算子的程序代码提取特征得到的,上述S201、获取多个算子的特征数据,包括:接收来自仿真平台的多个算子特征数据,仿真平台用于在预设运行参数下对多个算子中每个算子的程序代码提取特征数据。
不同运行参数下提取的特征数据不同,在提取特征数据之前,技术人员可以提前预设运行参数,仿真平台在预设运行参数下对多个算子中每个算子的程序代码提取特征数据。其中,预设运行参数可以包括运行频率和/或运行内存等参数,本申请实施例对预设运行参数不作限定。
这种实现方式,通过仿真平台提取特征数据,无需处理设备执行提取特征数据的步骤,可以节省计算能力。
S202、将多个算子的特征数据和多个算子的性能评估结果作为训练样本对第一初始模型进行训练,得到第一模型,其中,多个算子的特征数据为第一初始模型的输入,多个算子的性能评估结果为多个算子的特征数据的标签,第一模型用于对待评估算子进行性能评估。
专家可以根据经验对多个算子中每个算子的程序代码进行分析,得到多个算子的性能评估结果。该多个算子的性能评估结果可以作为这多个算子的特征数据的标签。
处理设备可以将多个算子的特征数据和多个算子的性能评估结果作为训练样本对第一初始模型进行训练,得到第一模型,也就是将多个算子的特征数据作为第一初始模型的输入,将多个算子的性能评估结果作为第一初始模型的输出,训练第一初始模型中的参数,得到第一模型,第一模型可以用于对待评估算子进行性能评估。
可选地,第一模型可以为线性回归模型,处理设备可以基于线性回归模型对待评估算子进行性能评估。
本申请实施例提供的算子性能的评估方法,通过多个算子的特征数据和所述多个算子的性能评估结果训练第一模型,使其可以对待评估算子进行性能评估,不需要人工对待评估算子进行性能评估,可以节省人力,提高算子的性能评估效率。
作为一个可选的实施例,上述S201、获取多个算子的特征数据,包括:根据算子属性对多个算子进行分类,得到多类算子;获取多类算子中每类算子的特征数据;上述S202、将多个算子的特征数据和多个算子的性能评估结果作为训练样本对第一初始模型进行训练,得到第一模型,包括:将每类算子的特征数据和每类算子的性能评估结果作为训练样本对第一初始模型进行训练,得到多个第一模型,多个第一模型与多类算子一一对应,多个第一模型中每个第一模型用于对对应类的待评估算子进行性能评估。
每个算子均具有算子属性,不同算子的算子属性可以相同,也可以不同。处理设备可以将算子属性相同的算子划分为一类,这样,根据算子属性对多个算子进行分类,可以得到多类算子。可以理解的是,该多类算子中每类算子对应一个算子属性。
处理设备可以针对每类算子训练一个第一模型,以用于对该类的待评估算子进行性能评估。具体地,处理设备可以将每类算子的特征数据和每类算子的性能评估结果作为训练样本对第一初始模型进行训练,得到多个第一模型,也就是说,将每类算子的特征数据作为第一初始模型的输入,将每类算子的性能评估结果作为第一初始模型的输出,训练第一初始模型的参数,得到多个第一模型。
可选地,算子属性包括以下至少一个:内存受限属性、计算受限属性或者缓存缺失受限属性。
在一种可能的示例中,算子属性包括内存受限属性和计算受限属性。处理设备可以根据这两个算子属性对多个算子进行分类,可以得到两类算子,这两类算子中一类算子对应内存受限属性,另一类算子对应计算受限属性。这两类算子中一类算子对应的第一模型可以用于对内存受限属性的算子进行性能评估,另一类算子对应的第一模型可以用于对计算受限属性的算子进行性能评估。
在另一种可能的示例中,算子属性包括内存受限属性、计算受限属性以及缓存缺失受限属性。处理设备可以根据这三个算子属性对多个算子进行分类,可以得到三类算子,这三类算子可以分别为第一类算子、第二类算子以及第三类算子。第一类算子可以对应内存受限属性,第二类算子可以对应计算受限属性,第三类算子可以对应缓存缺失受限属性。第一类算子对应的第一模型可以用于对内存受限属性的算子进行性能评估,第二类算子对应的第一模型可以用于对计算受限属性的算子进行性能评估,第三类算子对应的第一模型可以用于对缓存缺失受限属性进行性能评估。其中,若第一模型为线性回归模型,第一类算子对应的第一模型可以为线性回归模型1、第二类算子对应的第一模型可以为线性回归模型2、第三类算子对应的第一模型可以为线性回归模型3。
本申请实施例提供的算子性能的评估方法,可以基于算子属性对多个算子进行分类,并对每一类算子训练一个第一模型,使其可以对这一类别的待评估算子进行性能评估,该方法训练的第一模型可以精准地对一类算子进行性能评估,可以提高性能评估的准确性。
为了提高基于算子属性对多个算子进行分类的效率,本申请实施例还可以训练一个模型以用于识别算子的算子属性。
处理设备可以将多个算子的特征数据和多个算子的算子属性作为训练样本对第二初始模型进行训练,得到第二模型,其中,多个算子的特征数据为第二初始模型的输入,多个算子的算子属性为多个算子的特征数据的标签,第二模型用于识别待评估算子的算子属性。
多个算子的算子属性是专家基于多个算子的程序代码确定的,处理器可以将多个算子的算子属性作为多个算子的特征数据的标签,将多个算子的特征数据作为第二初始模型的输入,将多个算子的算子属性作为第二初始模型的输出,训练第二初始模型的参数,得到第二模型,以用于识别待评估算子的算子属性。
示例性地,上述表一中编号01的盒子滤波的算子属性为内存受限属性,编号为06的双三次插值的算子属性为计算受限属性,编号为22的仿射变换的算子属性为缓存缺失受限属性,处理设备可以将这些数据作为训练样本,训练第二初始模型,得到第二模型。
可选地,第二模型可以是决策树模型,处理设备可以基于决策树模型识别待评估算子的算子属性。
本申请实施例提供的方法,训练第二模型,以用于识别待评估算子的算子属性,相比于专家根据经验得到待评估算子的算子属性,有利于提高确定待评估算子的算子属性的效率,进而可以提高基于算子属性对多个算子进行分类的效率。
上述第一模型和第二模型可以同时训练,也就是说,训练第一模型的多个算子与训练第二模型的多个算子相同,转接可以根据经验为这多个算子增加两个标签,这两个标签分别为算子属性和性能评估结果。
示例性地,图3示出了一种模型训练的示意性框图。如图3所示,仿真平台可以在预设运行参数下对多个算子的程序代码提取多个算子的特征数据,并将多个算子的特征数据发送至处理设备。专家可以根据经验对多个算子的程序代码进行分析,得到多个算子的算子属性和多个算子的性能评估结果。处理器可以将多个算子的算子属性和多个算子的性能评估结果作为多个算子的特征数据的标签,训练线性回归模型(即第一模型)和决策树模型(即第二模型)。
训练线性回归模型的过程如下:
处理设备基于多个算子的算子属性将多个算子的特征数据分为三类,第一类为内存受限属性的算子的特征数据,第二类为计算受限属性的算子的特征数据,第三类为缓存缺失受限属性的算子的特征数据。处理设备可以将第一类特征数据作为第一初始模型的输入,将内存受限属性作为第一初始模型的输出,训练第一初始模型的参数,得到线性回归模型1;可以将第二类特征数据作为第一初始模型的输入,将计算受限属性作为第一初始模型的输出,训练第一初始模型的参数,得到线性回归模型2;还可以将第三类特征数据作为第一初始模型的输入,将缓存缺失受限属性作为第一初始模型的输出,训练第一初始模型的参数,得到线性回归模型3。可以理解的是,线性回归模型1、线性回归模型2以及线性回归模型3的模型参数不同。线性回归模型1用于对算子属性为内存受限属性的算子进行性能评估;线性回归模型2用于对算子属性为计算受限属性的算子进行性能评估以及线性回归模型3用于对算子属性为缓存缺失受限属性的算子进行性能评估。
训练决策树模型的过程包括:处理设备将多个算子的特征数据作为第二初始模型的输入,将多个算子的算子属性作为第二初始模型的输出,训练第二初始模型的参数,得到决策树模型。
上面介绍了模型训练过程,下面将详细介绍模型的应用。
示例性地,图4示出了一种算子性能的评估方法400的示意性流程图。该方法400可以由处理设备执行。如图4所示,该方法400可以包括如下步骤:
S401、获取待评估算子的特征数据。
待评估算子的特征数据可以包括以下至少一个:加载存储指令对应的数据、普通整数运算指令对应的数据、整数乘法运算指令对应的数据、整数除法运算指令对应的数据、普通浮点运算指令对应的数据、浮点乘法运算指令对应的数据、浮点除法运算指令对应的数据、或者跳转指令对应的数据。
示例性地,待评估算子的特征数据可以包括加载存储指令对应的数据、普通整数运算指令对应的数据、整数乘法运算指令对应的数据、整数除法运算指令对应的数据、普通浮点运算指令对应的数据、浮点乘法运算指令对应的数据、浮点除法运算指令对应的数据、以及跳转指令对应的数据。例如,待评估算子的特征数据可以如上述表二所示。
待评估算子的特征数据可以是处理设备对待评估算子的程序代码提取特征得到的,也可以是其他设备(例如仿真平台)对待评估算子的程序代码提取特征得到的,并发送至处理设备的,本申请实施例对此不作限定。
S402、将待评估算子的特征数据输入至第一模型,得到待评估算子的性能评估结果,第一模型是基于多个算子的特征数据和多个算子的性能评估结果训练得到,并用于对算子进行性能评估。
第一模型可以是线性回归模型,但本申请实施例对此不作限定。性能评估结果可以用于指导后续对算子的优化。
本申请实施例提供的算子性能的评估方法,通过第一模型对待评估算子进行性能评估,相比于专家根据经验进行评估,可以节省人力,提高性能评估效率。
作为一个可选的实施例,在上述S402、将待评估算子的特征数据输入至第一模型之前,方法400还包括:将待评估算子的特征数据输入至第二模型,得到待评估算子的算子属性,第二模型基于多个算子的特征数据和多个算子的算子属性训练得到,并用于识别算子的算子属性;基于待评估算子的算子属性,确定待评估算子的类别;将待评估算子的类别对应的模型确定为第一模型。
若第一模型在训练时是基于算子属性分类训练的,处理设备可以将待评估算子的特征数据输入至第二模型,得到待评估算子的算子属性,并基于待评估算子的算子属性,确定第一模型。其中,算子属性可以包括以下至少一个:内存受限属性、计算受限属性或者缓存缺失受限属性。
示例性地,图5示出了一种对待评估算子进行性能评估的示意性框图。如图5所示,仿真平台可以在预设运行参数下对待评估算子的程序代码提取待评估算子的特征数据,并将待评估算子的特征数据发送至处理设备。处理设备接收该待评估算子的特征数据后,可以将其输入至决策树模型(即第二模型),得到待评估算子的算子属性。若待评估算子的算子属性为内存受限属性,待评估算子为第一类,处理设备可以将其输入至线性回归模型1,线性回归模型1的输出为待评估算子的性能评估结果。若待评估算子的算子属性为计算受限属性,待评估算子为第二类,处理设备可以将其输入至线性回归模型2,线性回归模型2的输出为待评估算子的性能评估结果。若待评估算子的算子属性为缓存缺失受限属性,待评估算子为第三类,处理设备可以将其输入至线性回归模型3,线性回归模型3的输出为待评估算子的性能评估结果。
本申请实施例提供的算子性能的评估方法,通过第二模型识别待评估算子的算子属性,相比人工识别,可以提高识别效率,基于算子属性确定用于性能评估的第一模型,可以更精准地对待评估算子进行性能评估,有利于提高性能评估的准确性。
上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文中结合图1至图5,详细描述了本申请实施例提供的方法,下面将结合图6和图7,详细描述本申请实施例提供的装置。
图6示出了本申请实施例提供的一种算子性能的评估装置600的示意性框图。该评估装置600包括:获取模块610和处理模块620。
在一种可能的实现方式中,该评估装置600可以用于实现上述方法200。
获取模块610用于:获取多个算子的特征数据,多个算子的特征数据基于多个算子中每个算子的程序代码得到;处理模块620用于:将多个算子的特征数据和多个算子的性能评估结果作为训练样本对第一初始模型进行训练,得到第一模型,其中,多个算子的特征数据为第一初始模型的输入,多个算子的性能评估结果为多个算子的特征数据的标签,第一模型用于对待评估算子进行性能评估。
在另一种可能的实现方式中,该评估装置600可以用于实现上述方法400。
获取模块610用于:获取待评估算子的特征数据;处理模块620用于:将待评估算子的特征数据输入至第一模型,得到待评估算子的性能评估结果,第一模型是基于多个算子的特征数据和多个算子的性能评估结果训练得到,并用于对算子进行性能评估。
应理解,这里的评估装置600以功能模块的形式体现。这里的术语“模块”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选的例子中,本领域技术人员可以理解,评估装置600可以具体为上述方法实施例中的处理设备,或者,上述方法实施例中处理设备的功能可以集成在评估装置600中,评估装置600可以用于执行上述方法实施例中与处理设备对应的各个流程和/或步骤,为避免重复,在此不再赘述。
上述评估装置600具有实现上述方法实施例中处理设备执行的相应步骤的功能;上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
在本申请的实施例中,图6中的评估装置600也可以是芯片或者芯片系统,例如:片上系统(system on chip,SoC)。
图7是本申请实施例提供的另一种算子性能的评估装置700的示意性框图。该评估装置700包括处理器710、收发器720和存储器730。其中,处理器710、收发器720和存储器730通过内部连接通路互相通信,该存储器730用于存储指令,该处理器710用于执行该存储器730存储的指令,以控制该收发器720发送信号和/或接收信号。
应理解,评估装置700可以具体为上述方法实施例中的处理设备,或者,上述方法实施例中处理设备的功能可以集成在评估装置700中,评估装置700可以用于执行上述方法实施例中与处理设备对应的各个步骤和/或流程。可选地,该存储器730可以包括只读存储器和随机存取存储器,并向处理器710提供指令和数据。存储器730的一部分还可以包括非易失性随机存取存储器。例如,存储器730还可以存储设备类型的信息。该处理器710可以用于执行存储器730中存储的指令,并且该处理器710执行该指令时,该处理器710可以执行上述方法实施例中与处理设备对应的各个步骤和/或流程。
应理解,在本申请实施例中,该处理器710可以是中央处理单元(centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,该计算机程序用于实现上述方法实施例中处理设备对应的方法。
本申请还提供了一种芯片系统,该芯片系统用于支持上述方法实施例中处理设备实现本申请实施例所示的功能。
本申请还提供了一种计算机程序产品,该计算机程序产品包括计算机程序(也可以称为代码,或指令),当该计算机程序在计算机上运行时,该计算机可以执行上述方法实施例所示的处理设备对应的方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应所述以权利要求的保护范围为准。
Claims (16)
1.一种算子性能的评估方法,其特征在于,包括:
获取多个算子的特征数据,所述多个算子的特征数据基于所述多个算子中每个算子的程序代码得到,所述多个算子应用于相机应用,用于对所述相机应用所获取的图片或视频进行处理;
将所述多个算子的特征数据和所述多个算子的性能评估结果作为训练样本对第一初始模型进行训练,得到第一模型,其中,所述多个算子的特征数据为所述第一初始模型的输入,所述多个算子的性能评估结果为所述多个算子的特征数据的标签,所述第一模型用于对待评估算子进行性能评估。
2.根据权利要求1所述的方法,其特征在于,所述获取多个算子的特征数据,包括:
根据算子属性对所述多个算子进行分类,得到多类算子;
获取所述多类算子中每类算子的特征数据;
所述将所述多个算子的特征数据和所述多个算子的性能评估结果作为训练样本对第一初始模型进行训练,得到第一模型,包括:
将所述每类算子的特征数据和所述每类算子的性能评估结果作为训练样本对所述第一初始模型进行训练,得到多个第一模型,所述多个第一模型与所述多类算子一一对应,所述多个第一模型中每个第一模型用于对对应类的待评估算子进行性能评估。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将所述多个算子的特征数据和所述多个算子的算子属性作为训练样本对第二初始模型进行训练,得到第二模型,其中,所述多个算子的特征数据为所述第二初始模型的输入,所述多个算子的算子属性为所述多个算子的特征数据的标签,所述第二模型用于识别待评估算子的算子属性。
4.根据权利要求3所述的方法,其特征在于,所述算子属性包括以下至少一个:
内存受限属性、计算受限属性或者缓存缺失受限属性。
5.根据权利要求3所述的方法,其特征在于,所述第一模型为线性回归模型,所述第二模型为决策树模型。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述获取多个算子的特征数据,包括:
接收来自仿真平台的所述多个算子特征数据,所述仿真平台用于在预设运行参数下对所述多个算子中每个算子的程序代码提取特征数据。
7.根据权利要求1至5中任一项所述的方法,其特征在于,所述特征数据包括以下至少一个:
加载存储指令对应的数据、普通整数运算指令对应的数据、整数乘法运算指令对应的数据、整数除法运算指令对应的数据、普通浮点运算指令对应的数据、浮点乘法运算指令对应的数据、浮点除法运算指令对应的数据、或者跳转指令对应的数据。
8.一种算子性能的评估方法,其特征在于,包括:
获取待评估算子的特征数据,所述待评估算子的特征数据基于所述待评估算子中每个算子的程序代码得到,所述待评估算子应用于相机应用,用于对所述相机应用所获取的图片或视频进行处理;
将所述待评估算子的特征数据输入至第一模型,得到所述待评估算子的性能评估结果,所述第一模型是基于多个算子的特征数据和所述多个算子的性能评估结果训练得到,并用于对算子进行性能评估。
9.根据权利要求8所述的方法,其特征在于,在所述将所述待评估算子的特征数据输入至第一模型之前,所述方法还包括:
将所述待评估算子的特征数据输入至第二模型,得到所述待评估算子的算子属性,所述第二模型基于所述多个算子的特征数据和所述多个算子的算子属性训练得到,并用于识别算子的算子属性;
基于所述待评估算子的算子属性,确定所述待评估算子的类别;
将所述待评估算子的类别对应的模型确定为所述第一模型。
10.根据权利要求9所述的方法,其特征在于,所述算子属性包括以下至少一个:
内存受限属性、计算受限属性或者缓存缺失受限属性。
11.根据权利要求9所述的方法,其特征在于,所述第一模型为线性回归模型,所述第二模型为决策树模型。
12.根据权利要求8至11中任一项所述的方法,其特征在于,所述获取所述待评估算子的特征数据,包括:
接收来自仿真平台的所述待评估算子的特征数据,所述仿真平台用于在预设运行参数下对所述待评估算子的程序代码提取特征数据。
13.根据权利要求8至11中任一项所述的方法,其特征在于,所述特征数据包括以下至少一个:
加载存储指令对应的数据、普通整数运算指令对应的数据、整数乘法运算指令对应的数据、整数除法运算指令对应的数据、普通浮点运算指令对应的数据、浮点乘法运算指令对应的数据、浮点除法运算指令对应的数据、或者跳转指令对应的数据。
14.一种算子性能的评估装置,其特征在于,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储计算机程序,当所述处理器调用所述计算机程序时,使得所述评估装置执行如权利要求1至7中任一项所述的方法或者执行如权利要求8至13中任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序包括用于实现如权利要求1至7中任一项所述的方法或者实现如权利要求8至13中任一项所述的方法。
16.一种计算机程序产品,其特征在于,所述计算机程序产品中包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机实现如权利要求1至7中任一项所述的方法或者实现如权利要求8至13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211251832.1A CN116701923B (zh) | 2022-10-13 | 2022-10-13 | 算子性能的评估方法和评估装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211251832.1A CN116701923B (zh) | 2022-10-13 | 2022-10-13 | 算子性能的评估方法和评估装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116701923A CN116701923A (zh) | 2023-09-05 |
CN116701923B true CN116701923B (zh) | 2024-05-17 |
Family
ID=87834534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211251832.1A Active CN116701923B (zh) | 2022-10-13 | 2022-10-13 | 算子性能的评估方法和评估装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116701923B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6931633B1 (en) * | 2000-08-01 | 2005-08-16 | National Instruments Corporation | System and method of evaluating the performance of an image processing algorithm |
CN110428368A (zh) * | 2019-07-31 | 2019-11-08 | 北京金山云网络技术有限公司 | 一种算法评价方法、装置、电子设备及可读存储介质 |
CN110825379A (zh) * | 2019-09-20 | 2020-02-21 | 北京银企融合技术开发有限公司 | 个人代码行为评价方法、系统、计算机设备和介质 |
JP2020190579A (ja) * | 2019-05-17 | 2020-11-26 | ソフトバンク株式会社 | プレゼンテーションを評価するシステム、方法、学習済みモデル及びプログラム、情報処理装置並びに端末装置 |
CN112241452A (zh) * | 2020-10-16 | 2021-01-19 | 百度(中国)有限公司 | 一种模型训练方法、装置、电子设备及存储介质 |
CN112446591A (zh) * | 2020-11-06 | 2021-03-05 | 太原科技大学 | 一种用于学生综合能力评价的评价体系及零样本评价方法 |
WO2021051917A1 (zh) * | 2019-09-16 | 2021-03-25 | 华为技术有限公司 | 人工智能ai模型的评估方法、系统及设备 |
CN112950581A (zh) * | 2021-02-25 | 2021-06-11 | 北京金山云网络技术有限公司 | 质量评估方法、装置和电子设备 |
CN113158543A (zh) * | 2021-02-02 | 2021-07-23 | 浙江工商大学 | 一种软件定义网络性能智能预测方法 |
CN113221989A (zh) * | 2021-04-30 | 2021-08-06 | 浙江网商银行股份有限公司 | 基于分布式的评估模型训练方法、系统以及装置 |
CN113419941A (zh) * | 2021-04-01 | 2021-09-21 | 阿里巴巴新加坡控股有限公司 | 评估方法及装置、电子设备和计算机可读存储介质 |
CN114564374A (zh) * | 2022-02-21 | 2022-05-31 | 北京百度网讯科技有限公司 | 算子性能评估方法、装置、电子设备及存储介质 |
CN114968788A (zh) * | 2022-05-27 | 2022-08-30 | 浙江大学 | 人工智能算法编程能力自动评估方法、装置、介质及设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8442299B2 (en) * | 2009-11-10 | 2013-05-14 | International Business Machines Corporation | Evaluation of image processing algorithms |
US11809519B2 (en) * | 2020-08-19 | 2023-11-07 | Lg Electronics Inc. | Semantic input sampling for explanation (SISE) of convolutional neural networks |
JP2024502777A (ja) * | 2020-12-23 | 2024-01-23 | ロレアル | モデル推定クラス埋め込みによる連続効果の適用 |
-
2022
- 2022-10-13 CN CN202211251832.1A patent/CN116701923B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6931633B1 (en) * | 2000-08-01 | 2005-08-16 | National Instruments Corporation | System and method of evaluating the performance of an image processing algorithm |
JP2020190579A (ja) * | 2019-05-17 | 2020-11-26 | ソフトバンク株式会社 | プレゼンテーションを評価するシステム、方法、学習済みモデル及びプログラム、情報処理装置並びに端末装置 |
CN110428368A (zh) * | 2019-07-31 | 2019-11-08 | 北京金山云网络技术有限公司 | 一种算法评价方法、装置、电子设备及可读存储介质 |
WO2021051917A1 (zh) * | 2019-09-16 | 2021-03-25 | 华为技术有限公司 | 人工智能ai模型的评估方法、系统及设备 |
CN110825379A (zh) * | 2019-09-20 | 2020-02-21 | 北京银企融合技术开发有限公司 | 个人代码行为评价方法、系统、计算机设备和介质 |
CN112241452A (zh) * | 2020-10-16 | 2021-01-19 | 百度(中国)有限公司 | 一种模型训练方法、装置、电子设备及存储介质 |
CN112446591A (zh) * | 2020-11-06 | 2021-03-05 | 太原科技大学 | 一种用于学生综合能力评价的评价体系及零样本评价方法 |
CN113158543A (zh) * | 2021-02-02 | 2021-07-23 | 浙江工商大学 | 一种软件定义网络性能智能预测方法 |
CN112950581A (zh) * | 2021-02-25 | 2021-06-11 | 北京金山云网络技术有限公司 | 质量评估方法、装置和电子设备 |
CN113419941A (zh) * | 2021-04-01 | 2021-09-21 | 阿里巴巴新加坡控股有限公司 | 评估方法及装置、电子设备和计算机可读存储介质 |
CN113221989A (zh) * | 2021-04-30 | 2021-08-06 | 浙江网商银行股份有限公司 | 基于分布式的评估模型训练方法、系统以及装置 |
CN114564374A (zh) * | 2022-02-21 | 2022-05-31 | 北京百度网讯科技有限公司 | 算子性能评估方法、装置、电子设备及存储介质 |
CN114968788A (zh) * | 2022-05-27 | 2022-08-30 | 浙江大学 | 人工智能算法编程能力自动评估方法、装置、介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116701923A (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107545262B (zh) | 一种在自然场景图像中检测文本的方法及装置 | |
CN106934376B (zh) | 一种图像识别方法、装置及移动终端 | |
US9582726B2 (en) | Systems and methods for image processing in a deep convolution network | |
CN109961009A (zh) | 基于深度学习的行人检测方法、系统、装置及存储介质 | |
WO2020047440A1 (en) | System and method for performing image processing based on a damage assessment image judgement model | |
CN109800320B (zh) | 一种图像处理方法、设备及计算机可读存储介质 | |
CN108734702A (zh) | 车损判定方法、服务器及存储介质 | |
CN105913088A (zh) | 一种卡顿识别方法、装置及计算设备 | |
CN111061898A (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
US20190180267A1 (en) | Method and apparatus for binding bank card in payment application | |
JPWO2010016175A1 (ja) | 対象検出装置および対象検出方法 | |
CN104933145A (zh) | 照片处理方法及装置与移动终端 | |
CN110826646A (zh) | 机器人视觉测试方法、装置、存储介质及终端设备 | |
CN104239388A (zh) | 媒体文件管理方法及系统 | |
CN112631896A (zh) | 设备性能测试方法、装置、存储介质及电子设备 | |
CN113158773B (zh) | 一种活体检测模型的训练方法及训练装置 | |
CN116701923B (zh) | 算子性能的评估方法和评估装置 | |
CN111597937B (zh) | 鱼姿势识别方法、装置、设备及存储介质 | |
CN111626313B (zh) | 一种特征提取模型训练方法、图像处理方法及装置 | |
CN110909188A (zh) | 检查图片确定方法及装置 | |
US20220122341A1 (en) | Target detection method and apparatus, electronic device, and computer storage medium | |
CN113255766B (zh) | 一种图像分类方法、装置、设备和存储介质 | |
CN111552634A (zh) | 前端系统的测试方法、装置及存储介质 | |
CN111008842B (zh) | 一种茶叶检测方法、系统、电子设备及机器可读介质 | |
CN114255321A (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 |