CN113326942A - 模型推理方法及装置、电子设备和存储介质 - Google Patents
模型推理方法及装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113326942A CN113326942A CN202010131243.4A CN202010131243A CN113326942A CN 113326942 A CN113326942 A CN 113326942A CN 202010131243 A CN202010131243 A CN 202010131243A CN 113326942 A CN113326942 A CN 113326942A
- Authority
- CN
- China
- Prior art keywords
- quantization
- model
- operator
- neural network
- network model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 238000003062 neural network model Methods 0.000 claims abstract description 111
- 238000013139 quantization Methods 0.000 claims description 238
- 238000012545 processing Methods 0.000 claims description 70
- 230000008569 process Effects 0.000 claims description 38
- 230000004913 activation Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 5
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 238000013528 artificial neural network Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/041—Abduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
Abstract
本公开涉及一种模型推理方法及装置、电子设备和存储介质,其中,所述方法包括:接收对可执行文件的运行指令,所述运行指令包括模型描述信息和模型输入数据;运行所述可执行文件,得到所述模型描述信息描述的神经网络模型对所述模型输入数据进行定点运算的运算结果;返回所述运算结果。本公开实施例有利于提高神经网络模型的开发效率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种模型推理方法及装置、电子设备和存储介质。
背景技术
随着神经网络设计的日趋复杂,神经网络模型的运算会耗费部署端大量的计算资源。因此,为了减少神经网络对计算资源和的消耗,业界提出了针对神经网络模型的定点运算。然而,为了校验量化后的神经网络的性能,需要将量化后的神经网络模型部署到支持特定定点运算的硬件设备上进行推理和测试,大大降低神经网络模型的开发效率。
发明内容
本公开提出了一种模型推理技术方案。
根据本公开的一方面,提供了一种模型推理方法,包括:接收对可执行文件的运行指令,所述运行指令包括模型描述信息和模型输入数据;运行所述可执行文件,得到所述模型描述信息描述的神经网络模型对所述模型输入数据进行定点运算的运算结果;返回所述运算结果。
在一个或多个可选实施例中,所述可执行文件的运行包括:利用所述模型描述信息描述的神经网络模型对所述模型输入数据进行定点运算,得到所述运算结果。
在一个或多个可选实施例中,所述可执行文件的运行包括:基于所述模型描述信息,确定所述神经网络模型的拓扑结构信息;基于所述拓扑结构信息,确定所述神经网络模型的算子序列;基于所述算子序列中算子的排列顺序进行调度,得到所述运算结果。
在一个或多个可选实施例中,所述可执行文件的运行包括:对所述模型描述信息描述的神经网络模型中的第一算子的权重进行量化处理,得到量化权重;利用所述量化权重对所述第一算子的量化输入数据进行运算处理,得到所述第一算子的激活数据;将所述第一算子的激活数据进行定点化处理后作为紧邻所述第一算子的第二算子的量化输入数据。
在一个或多个可选实施例中,对所述神经网络模型中的第一算子的量化处理是在调度所述第一算子之后进行的。
在一个或多个可选实施例中,所述运行指令还包括量化配置信息,所述量化配置信息包括下列中的至少一种:量化精度、量化模式、量化参数。
在一个或多个可选实施例中,所述运行所述可执行文件,包括:基于所述运行指令,确定量化配置;基于所述量化配置,对所述模型输入数据和/或所述神经网络模型的权重数据进行量化处理。
在一个或多个可选实施例中,所述基于所述运行指令,确定量化配置信息,包括:在所述运行指令包含量化配置信息的情况下,基于所述运行指令包含的量化配置信息,确定量化配置;和/或在所述运行指令不包含所述量化配置信息的情况下,将所述默认配置作为所述量化配置。
在一个或多个可选实施例中,所述量化模式包括单通道量化模式和多通道量化模式。
在一个或多个可选实施例中,所述方法还包括:返回所述神经网络模型的量化配置和量化后的权重数据的至少一种。
在一个或多个可选实施例中,所述可执行文件的运行是通过CPU实现的;和/或所述可执行文件包括基于通用程序语言的程序代码。
根据本公开的一方面,提供了一种模型推理装置,包括:接收模块,用于接收对可执行文件的运行指令,所述运行指令包括模型描述信息和模型输入数据;处理模块,用于运行所述可执行文件,得到所述模型描述信息描述的神经网络模型对所述模型输入数据进行定点运算的运算结果;输出模块,用于返回所述运算结果。
在一个或多个可选实施例中,所述处理模块,具体用于利用所述模型描述信息描述的神经网络模型对所述模型输入数据进行定点运算,得到所述运算结果。
在一个或多个可选实施例中,所述处理模块,包括:输入单元,用于基于所述模型描述信息,确定所述神经网络模型的拓扑结构信息;图分析单元,基于所述拓扑结构信息,确定所述神经网络模型的算子序列;调度单元,用于基于所述算子序列中算子的排列顺序进行调度,得到所述运算结果。
在一个或多个可选实施例中,所述处理模块,包括:量化单元,用于对所述模型描述信息描述的神经网络模型中的第一算子的权重进行量化处理,得到量化权重;计算单元,用于利用所述量化权重对所述第一算子的量化输入数据进行运算处理,得到所述第一算子的激活数据;将所述第一算子的激活数据进行定点化处理后作为紧邻所述第一算子的第二算子的量化输入数据。
在一个或多个可选实施例中,对所述神经网络模型中的第一算子的量化处理是在调度所述第一算子之后进行的。
在一个或多个可选实施例中,所述运行指令还包括量化配置信息,所述量化配置信息包括下列中的至少一种:量化精度、量化模式、量化参数。
在一个或多个可选实施例中,所述处理模块,包括:量化单元,用于基于所述运行指令,确定量化配置;基于量化配置,对所述模型输入数据和/或所述神经网络模型的权重数据进行量化处理。
在一个或多个可选实施例中,所述量化单元,具体用于在所述运行指令包含量化配置信息的情况下,基于所述运行指令包含的量化配置信息,确定量化配置;和/或在所述运行指令不包含所述量化配置信息的情况下,将所述默认配置作为所述量化配置。
在一个或多个可选实施例中,所述量化模式包括单通道量化模式和多通道量化模式。
在一个或多个可选实施例中,所述输出模块还用于返回所述神经网络模型的量化配置和量化后的权重数据的至少一种。
在一个或多个可选实施例中,所述可执行文件的运行是通过CPU实现的;和/或
所述可执行文件包括基于通用程序语言的程序代码。
根据本公开的另一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:执行上述模型推理方法。
根据本公开的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述模型推理方法。
在本公开实施例中,可以接收对可执行文件的运行指令,运行指令包括模型描述信息和模型输入数据,然后运行可执行文件,可以得到模型描述信息描述的神经网络模型对模型输入数据进行定点运算的运算结果,并返回运算结果,从而通过运行可执行文件,可以模拟神经网络的量化过程,进而减小量化神经网络对硬件设备的需求,节省硬件设备的成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1示出根据本公开实施例的模型推理方法的流程图。
图2示出根据本公开实施例的模型推理方案的架构图。
图3示出根据本公开实施例的模型推理方法一示例的流程图。
图4示出根据本公开实施例的模型推理装置示例的框图。
图5示出根据本公开实施例的电子设备示例的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
在相关技术中,在对神经网络进行量化的过程中,为了保证量化后的神经网络的精度和应用效果,通常需要将量化后的神经网络部署在支持特定定点运算的硬件设备上,例如,需要部署在支持特定定点运算的开发板、移动设备甚至一整台服务器中。一些情况下,还需要在特定的硬件设备上进行环境搭建和部署等一系列繁琐的流程。这一系列流程会导致开发神经网络的效率大大降低。本公开实施例提供的模型推理方案,可以接收对可执行文件的运行指令,运行指令包括模型描述信息和模型输入数据。然后运行可执行文件,得到模型描述信息描述的神经网络模型对模型输入数据进行定点运算的运算结果,并返回定点运算后的运算结果。通过运行可执行文件,可以模拟神经网络的量化过程,有利于提高神经网络模型的开发效率。此外,在一些实施例中,可执行文件可以运行在常见的硬件设备上,例如,运行在x86服务器上,从而减少神经网络的量化过程对硬件设备的要求。
本公开实施例提供的模型推理方案,可以应用于神经网络的定点化推理或者量化方案的测试。例如,可以应用于利用量化后的神经网络处理一些对精度需求较高的任务中,例如,应用于图像分类任务、图像识别任务、目标检测任务中。本公开实施例不对具体的应用场景进行限制,只要包括本公开实施例提供的模型推理方案均在本公开的保护范围内。
下面对本公开实施例提供的模型推理方案进行说明。
图1示出根据本公开实施例的模型推理方法的流程图。该模型推理方法可以由终端设备、服务器或其它类型的电子设备执行,其中,终端设备可以为用户设备(UserEquipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(PersonalDigital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该模型推理方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。下面以电子设备为例对本公开实施例提供的模型推理方案进行说明。
S11,接收对可执行文件的运行指令,所述运行指令包括模型描述信息和模型输入数据。
在本公开实施例中,电子设备可以根据用户的点击操作生成对可执行文件的运行指令,或者,电子设备可以接收其他设备发送的对可执行文件的运行指令。运行指令中可以包括模型描述信息以及模型输入数据。模型描述信息可以用于描述神经网络模型。在一些实施例中,该模型描述信息可以包括指示神经网络模型的网络结构的信息,例如神经网络模型包括的网络层和网络层之间的连接关系,或者还进一步包括各个网络层的层参数,例如权重、步长等等,以caffe框架的神经网络而言,模型描述信息可以包括描述文件prototxt以及模型文件caffemodel。在一些实施例中,模型描述信息也可以包括神经网络模型的程序代码,但本公开实施例对此不做限定。
在本公开实施例中,模型输入数据是神经网络模型的输入数据。在一些实现方式中,模型输入数据可以是浮点型数据,如16位浮点数、32位浮点数、64位浮点数等。一些实现方式中,模型输入数据可以是定点型数据,如8位定点数、4位定点数等。模型输入数据可以是一个或多个图像、语音、文本等多种类型的数据中的一种或多种。举例来说,模型输入数据可以是在某个场景中采集的图像数据,再例如,模型输入数据可以是针对某个或某些目标对象进行拍摄的视频帧或视频帧序列。
本公开实施例中,可执行文件是可以由电子设备进行加载并执行的文件。可执行文件包含程序代码,该程序代码用于进行神经网络模型的定点化推理或测试。在一个可能的实现方式中,可执行文件的运行是通过中央处理器(CPU,Central Processing Unit)实现的,例如,可执行文件可以通过CPU进行加载并运行,从而可执行文件可以运行在一些通用的电子设备上,例如,可以在x86环境下运行可执行文件。在一些实现方式中,可执行文件包括基于通用程序语言的程序代码。可执行文件可以是基于通用程序语言的程序代码生成的文件,例如,可执行文件是基于C语言、C++语言、java语言等程序语言的程序代码生成的文件,从而可以在支持通用程序语言的硬件设备上对神经网络模型进行量化,进一步降低神经网络模型的量化对硬件设备的要求。
S12,运行所述可执行文件,得到所述模型描述信息描述的神经网络模型对所述模型输入数据进行定点运算的运算结果。
在本公开实施例中,模型描述信息用于描述神经网络模型,其中,该神经网络模型可以是各种类型,例如卷积神经网络模型,循环神经网络模型,等等,具体可以用于进行分类、识别或检测任务,本公开实施例对神经网络模型的类型和具体实现不做限定。
可以利用模型描述信息描述的神经网络模型对模型输入数据进行定点运算,得到运算结果。具体地,可以对神经网络模型的权重数据和/或激活数据进行量化,并基于量化后的数据进行运算处理,得到运算结果。在本公开实施例中,可以利用神经网络模型对模型输入数据进行一系列的定点运算,例如,对模型输入数据进行定点的卷积运算、池化运算、反卷积运算、归一化运算等,可以得到运算结果。这里,在进行某一网络层或某个算子的运算之前,可以得到该网络层或算子的量化后的输入数据和/或权重数据,并进行对应运算,得到运算结果后直接或者进行量化处理后输入到下一网络层或算子。例如,可以将模型输入数据由浮点类型转换为定点类型,然后再利用神经网络模型对定点类型的模型输入数据进行定点运算,或者,在模型输入数据为满足要求的定点数据的情况下,可以直接利用神经网络模型对模型输入数据进行定点运算。在每次定点运算后可以将指定位数的定点运算结果输入到下一网络层或算子。通过利用模型描述信息描述的神经网络模型对模型输入数据进行定点运算,可以实现神经网络模型的量化过程,并得到神经网络模型进行定点运算后的运算结果。
神经网络模型的运算结果可以是高精度数据类型的浮点数据,也可以是低精度的数据类型的定点数据,具体可以实际应用需求或者基于用户指定的配置进行设置,例如,可以基于运行指令确定运算结果的数据类型。在一些实施例中,可以将神经网络模型最后一层或最后一个算子得到的定点运算结果转换为浮点数后输出,但本公开实施例对此不做限定。
S13,返回所述运算结果。
在本公开实现方式中,在得到神经网络模型对模型输入数据进行定点运算的运算结果之后,可以在显示界面显示得到的运算结果,或者在返回函数中携带该运算结果。这样,用户可以基于返回的运算结果,对神经网络模型的量化结果的性能进行评估。例如,可以将得到的运算结果与预设的参考结果进行对比,得到运算结果的精度。或者,还可以记录通过神经网络模型对模型输入数据进行处理所花费的时间,或者可执行文件的运行时间,并显示或返回该时间。
在一些实施例中,该可执行文件的运行还可以进一步包括:基于运算结果,确定神经网络模型的量化后的结果的性能,该性能可以包括精度和/或速度。举例来说,在人脸识别场景中,模型输入数据可以是人脸图像,运算结果可以是人脸识别结果,参考结果可以是人脸图像中的人脸信息,在得到人脸识别结果之后,可以将人脸识别结果与人脸信息进行对比,得到人脸识别结果的精度。在运算结果的精度大于精度阈值的情况下,表明运算结果满足精度要求,量化后的神经网络模型量可以用于实际的生成部署。
本公开实施例提供的技术方案,通过读取网络描述文件和/或浮点模型,并可选地指定量化方案,即可模拟网络量化后的推理过程,输出量化网络的运行结果。
本公开实施例提供了一种能够在x86服务器上运行的量化网络推理模拟器。该工具以二进制可执行文件形式提供,在x86服务器上即可运行,不需要采购具体设备;无第三方库依赖,无需环境部署;用户可以在常见的x86模型开发服务器上运行工具,无需与具体设备进行数据传输交互,从而降低量化神经网络精度校验与模型调优的成本和复杂度。
上述通过运行可执行文件,可以模拟神经网络的量化结果的推理过程。下面通过多个可能的实现方式对可执行文件的运行过程进行说明。
在一个可能的实现方式中,可以基于模型描述信息,确定神经网络模型的拓扑结构信息,然后基于拓扑结构信息,确定神经网络模型的算子序列,再基于算子序列中算子的排列顺序进行调度,得到所述运算结果。
在本实现方式中,模型描述信息可以包括用于描述神经网络模型的网络结构、网络功能等信息,从而可以根据模型描述信息,确定神经网络模型的拓扑结构信息。神经网络模型的拓扑结构信息可以包括神经网络模型中多个算子以及多个算子之间的连接顺序,即,神经网络模型进行多个定点运算处理的顺序,其中,可选地,一个算子可以对应一个定点运算处理。进一步地,基于拓扑结构信息,可以确定多个算子之间的连接顺序,从而可以确定由多个算子形成的算子序列。按照算子序列中算子的排列顺序对相应的算子进行调度,可以依次调用相应的算子对模型输入数据进行定点运算,得到定点运算的运算结果。其中,算子序列中多个算子的排列顺序,可以是对模型输入数据进行定点运算的顺序。通过确定的算子序列,可以依次对相应的算子进行调度,从而可以实现多个算子的定点运算,得到最终的运算结果。
在一个可能的实现方式中,可以对模型描述信息描述的神经网络模型中的第一算子的权重进行量化处理,得到量化权重,然后可以利用量化权重对第一算子的量化输入数据进行运算处理,得到第一算子的激活数据,再将第一算子的激活数据进行定点化处理后作为紧邻第一算子的第二算子的量化输入数据。
其中,第一算子可以为神经网络模型中的任意算子,或者是神经网络模型的某一类特定算子,本公开实施例对此不做限定。
在一些实施例中,第一算子的权重数据也可以是已经经过量化处理的,相应地,可以仅对激活数据进行量化处理,得到具有指定位数的定点激活数据,但本公开实施例不限于此。
在本公开实施例中,量化处理可以是将精度较高类型的数据通过一定的映射方式转换成精度较低类型的数据的一种技术。对量化处理后的数据进行的运算可以是定点运算。模型描述信息描述的神经网络模型可以包括第一算子和第二算子,第一算子和第二算子可以是相邻的算子,其中,第一算子的排列顺序位于第二算子之前。第一算子可以是神经网络模型中包括的至少两个算子中的一个算子。在可执行文件的运行过程中,可以对神经网络模型中的第一算子的权重进行量化处理,得到量化权重,然后可以利用量化权重对第一算子的量化输入数据进行运算处理,该运算处理可以是定点运算,在量化权重的作用下,可以得到第一算子的激活数据,然后可以对第一算子的激活数据进行定点化处理,可以将第一算子的激活数据转换为指定的量化位数,然后可以将定点化处理后的激活数据作为第二算子的量化输入数据。相应地,可以利用第二算子对第二算子的量化输入数据进行运算处理,第二算子的运算处理过程与第一算子的运算过程相同,这里不再赘述。通过这种方式,在运行可执行文件的过程中,可以通过对算子的权重进行量化处理实现多个算子的定点运算。
这里,第一算子的权重可以在模型描述信息中得到,模型描述信息中可以包括各个算子的权重。每个算子的权重可以不同,也可以相同。在第一算子是神经网络模型中第一个算子的情况下,第一算子的量化输入数据可以是量化的模型输入数据。在第一算子是第N个算子的情况下,第一算子的量化输入数据可以是前一个算子进行定点化处理后的激活数据。其中,N是大于1的整数。
在一个可能的实现方式中,对神经网络模型中的第一算子的量化处理是在调度第一算子之后进行的。这里,第一算子可以是神经网络模型中的任意一个算子,对神经网络模型中的第一算子的量化处理可以在调度第一算子之后进行,即,可以理解为,神经网络模型中算子的量化处理是实时进行的,每调度一个算子之后,可以利用对该算子进行量化处理,例如,对该算子的权重进行量化。这样,可以有针对性地对算子进行量化处理,实现算子的实时量化。
在一个可能的实现方式中,运行指令中还可以包括量化配置信息,量化配置信息包括下列中的至少一种:量化精度、量化模式、量化参数。
在本实现方式中,量化配置信息可以是根据用户选择生成的。其中,量化精度可以指示数据量化后的比特数,例如,在对模型输入数据进行量化的情况下,根据量化精度可以确定量化后的模型输入数据的位数为8位整数。
量化模式可以是数据量化过程中所使用的量化方式,量化模式可以包括多种,例如,量化模式可以包括自动量化模式、指定量化模式、单通道量化模式、多通道量化模式等多种模式。其中,自动量化模式可以是根据自动生成的量化参数对数据进行量化的方式。指定量化模式可以是根据外部获取的量化参数对数据进行量化的方式。单通道量化模式可以是为不同通道的数据设置单独的量化参数的方式。多通道量化模式可以是为不同通道的数据设置共享的量化参数的方式。
量化参数可以是将精度较高类型的数据映射为精度较低类型的数据的过程中所使用的参数。在指定量化模式的情况下,可以利用量化配置信息中的量化参数对数据进行量化,将精度较高类型的数据映射为精度较低类型的数据。
通过量化配置信息可以灵活地设置神经网络的量化过程,相比于仅支持单一量化模式的方案相比,可以灵活地调整以及优化神经网络的量化过程,满足用户对神经网络模型量化的多种需求。
在一些实现方式中,可以基于运行指令,确定量化配置;然后基于量化配置,对模型输入数据和/或神经网络模型的权重数据进行量化处理。
在本实现方式中,量化配置可以是对神经网络模型进行量化处理的过程中所使用的量化精度、量化模式、量化参数等。在运行可执行文件的情况下,可以根据运行指令确定神经网络模型的量化配置,即,可以确定量化精度、量化模式、量化参数中的一种或多种信息,然后按照确定的量化配置对模型输入数据和/或神经网络模型的权重数据进行量化处理。
这里,在运行指令包含量化配置信息的情况下,可以基于运行指令包含的量化配置信息,确定量化配置;和/或在运行指令不包含量化配置信息的情况下,将默认配置作为量化配置。其中,运行指令所包括的量化配置信息可以包括量化精度、量化模式、量化参数中的一种或多种量化配置信息,在运行指令包括量化精度、量化模式、量化参数中的一种或多种量化配置信息的情况下,可以将根据运行指令包括的量化配置信息确定神经网络模型的量化配置。例如,在运行指令中包括量化参数的情况下,可以利用运行指令中包括量化参数对模型输入数据和/或神经网络模型的权重数据进行量化处理。在运行指令中不包含量化配置信息的情况下,可以将预先设置的默认配置作为神经网络模型的量化配置。例如,在运行指令中不包含量化参数的情况下,可以利用默认配置中的量化参数对模型输入数据和/或神经网络模型的权重数据进行量化处理。这样不仅可以通过量化配置信息可以灵活地设置神经网络的量化过程,还可以在不存在量化配置信息的情况下,自动实现神经网络的量化过程。
在一些实现方式中,可以返回神经网络模型的量化配置和量化后的权重数据的至少一种。这里,在运行可执行文件之后,还可以神经网络模型的量化配置和/或量化后的权重数据,从而返回的神经网络模型的量化配置和/或量化后的权重数据,可以供用户分析,例如,可以更改神经网络模型的量化配置和/或量化后的权重数据,或者,可以为构建其他的量化后的神经网络作为参考。
下面通过一示例对本公开实施例提供的模型推理方案进行说明。图2示出根据本公开实施例的模型推理方案的架构图。本公开实施例提供的模型推理方案可以模拟神经网络的量化过程,可以应用在通用服务器中,该方案的架构可以由五部分组成:
输入单元,用于读取模型输入数据以及模型输入数据,还可以对读取的模型输入数据进行解析。例如,可以对模型输入数据中caffe框架的神经网络模型的描述文件prototxt以及模型文件caffemodel进行解析,得到神经网络模型的拓扑结构信息,例如,神经网络模型中包括的算子,以及算子之间的排列顺序等。
图分析单元,用于根据神经网络的拓扑结构信息,将多个算子构造成一个有向无环图,该有向无环图相当于神经网络的计算图。可选地,图分析单元还用于基于该有向无环图,对多个算子进行序列化,确定由多个算子形成的算子序列,并将算子序列输出给调度单元。
量化单元,用于根据神经网络模型的量化配置,例如,用户设置的量化精度(如量化比特数)和量化模式,对模型输入数据进行量化处理,还用于将量化配置传输至算子序列中的每个算子,以使每个算子在调度过程中可以根据量化配置对每个算子的输入和/或输出数据进行定点化处理。例如,在量化配置中的量化模式是自动量化模式,量化精度是8比特整数位的情况下,可以将某个算子输出的激活数据转换为8比特整数位。量化单元,还用于根据量化配置确定每个算子的量化参数。
在一些实施例中,根据用户是否选择运行时统计最大、最小值,即自动量化模式,对每个OP设置是否自动生成输入数据和/或输出数据的量化参数,并传递给下一个OP。若用户选择外部给定量化参数,即指定量化模式,则每个OP的tensor量化均根据外部参数确定。
在一些实施例中,根据用户是否选择单通道(per-channel)量化模式,选择对模型权重部分的量化方式。例如,如果选择per-channel模式,每个OP的每个权重单独享有一组量化参数;如果不选择per-channel模式,则每个OP的所有权重共享一组量化参数。
调度单元,用于根据算子序列中算子的排列顺序依次调度相应的算子,并在调度每个算子时分配相应的内存,并使算子进行运算处理的数据在相邻的算子间进行传输。
计算单元,用于实现算子序列中多个算子的运算处理,得到算子序列的运算结果。
图3示出根据本公开实施例的模型推理方法一示例的流程图。在本示例中,该模型推理方法可以包括以下步骤:
S201,接收对可执行文件的运行指令,运行指令包括模型描述信息和模型输入数据。
S202,运行可执行文件,根据运行指令确定的量化配置,利用算子序列的至少一个算子对图像数据进行定点运算,得到运算结果。
S203,判断运算结果是否满足精度要求。
S204,在运算结果满足精度要求的情况下,返回算子序列的至少一个算子的权重和/或进行神经网络的量化配置。
S205,在运算结果不满足精度要求的情况下,对算子序列的权重进行调整和优化,返回步骤S201。
本公开实施例可以模拟神经网络量化的过程,通过运行可执行文件模拟对量化后的神经网络模型进行调整和测试的过程,减小神经网络的量化过程对硬件设备的需求。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。
此外,本公开还提供了装置、电子设备、计算机可读存储介质、程序,上述均可用来实现本公开提供的任一种模型推理方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
图4示出根据本公开实施例的模型推理装置的框图,如图4所示,所述装置包括:
接收模块31,用于接收对可执行文件的运行指令,所述运行指令包括模型描述信息和模型输入数据;
处理模块32,用于运行所述可执行文件,得到所述模型描述信息描述的神经网络模型对所述模型输入数据进行定点运算的运算结果;
输出模块33,用于返回所述运算结果。
在一个或多个可能的实现方式中,所述处理模块32,具体用于利用所述模型描述信息描述的神经网络模型对所述模型输入数据进行定点运算,得到所述运算结果。
在一个或多个可能的实现方式中,所述处理模块32,包括:
输入单元,用于基于所述模型描述信息,确定所述神经网络模型的拓扑结构信息;
图分析单元,基于所述拓扑结构信息,确定所述神经网络模型的算子序列;
调度单元,用于基于所述算子序列中算子的排列顺序进行调度,得到所述运算结果。
在一个或多个可能的实现方式中,所述处理模块32,包括:
量化单元,用于对所述模型描述信息描述的神经网络模型中的第一算子的权重进行量化处理,得到量化权重;
计算单元,用于利用所述量化权重对所述第一算子的量化输入数据进行运算处理,得到所述第一算子的激活数据;将所述第一算子的激活数据进行定点化处理后作为紧邻所述第一算子的第二算子的量化输入数据。
在一个或多个可能的实现方式中,对所述神经网络模型中的第一算子的量化处理是在调度所述第一算子之后进行的。
在一个或多个可能的实现方式中,所述运行指令还包括量化配置信息,所述量化配置信息包括下列中的至少一种:量化精度、量化模式、量化参数。
在一个或多个可能的实现方式中,所述处理模块32,包括:
量化单元,用于基于所述运行指令,确定量化配置;基于量化配置,对所述模型输入数据和/或所述神经网络模型的权重数据进行量化处理。
在一个或多个可能的实现方式中,所述量化单元,具体用于在所述运行指令包含量化配置信息的情况下,基于所述运行指令包含的量化配置信息,确定量化配置;和/或在所述运行指令不包含所述量化配置信息的情况下,将所述默认配置作为所述量化配置。
在一个或多个可能的实现方式中,所述量化模式包括单通道量化模式和多通道量化模式。
在一个或多个可能的实现方式中,所述输出模块33还用于返回所述神经网络模型的量化配置和量化后的权重数据的至少一种。
在一个或多个可能的实现方式中,述可执行文件的运行是通过CPU实现的;和/或所述可执行文件包括基于通用程序语言的程序代码。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为上述方法。
电子设备可以被提供为终端、服务器或其它形态的设备。
图5是根据一示例性实施例示出的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图5,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (20)
1.一种模型推理方法,其特征在于,包括:
接收对可执行文件的运行指令,所述运行指令包括模型描述信息和模型输入数据;
运行所述可执行文件,得到所述模型描述信息描述的神经网络模型对所述模型输入数据进行定点运算的运算结果;
返回所述运算结果。
2.根据权利要求1所述的方法,其特征在于,所述可执行文件的运行包括:
利用所述模型描述信息描述的神经网络模型对所述模型输入数据进行定点运算,得到所述运算结果。
3.根据权利要求1或2所述的方法,其特征在于,所述可执行文件的运行包括:
基于所述模型描述信息,确定所述神经网络模型的拓扑结构信息;
基于所述拓扑结构信息,确定所述神经网络模型的算子序列;
基于所述算子序列中算子的排列顺序进行调度,得到所述运算结果。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述可执行文件的运行包括:
对所述模型描述信息描述的神经网络模型中的第一算子的权重进行量化处理,得到量化权重;
利用所述量化权重对所述第一算子的量化输入数据进行运算处理,得到所述第一算子的激活数据;
将所述第一算子的激活数据进行定点化处理后作为紧邻所述第一算子的第二算子的量化输入数据。
5.根据权利要求2至4中任一项所述的方法,其特征在于,对所述神经网络模型中的第一算子的量化处理是在调度所述第一算子之后进行的。
6.根据权利要求1至5中任意一项所述的方法,其特征在于,所述运行指令还包括量化配置信息,所述量化配置信息包括下列中的至少一种:量化精度、量化模式、量化参数。
7.根据权利要求1至6中任意一项所述的方法,其特征在于,所述运行所述可执行文件,包括:
基于所述运行指令,确定量化配置;
基于所述量化配置,对所述模型输入数据和/或所述神经网络模型的权重数据进行量化处理。
8.根据权利要求7所述的方法,其特征在于,所述基于所述运行指令,确定量化配置信息,包括:
在所述运行指令包含量化配置信息的情况下,基于所述运行指令包含的量化配置信息,确定量化配置;和/或
在所述运行指令不包含所述量化配置信息的情况下,将默认配置作为所述量化配置。
9.根据权利要求6或8所述的方法,其特征在于,所述量化模式包括单通道量化模式和多通道量化模式。
10.根据权利要求1至9任意一项所述的方法,其特征在于,所述方法还包括:
返回所述神经网络模型的量化配置和量化后的权重数据的至少一种。
11.根据权利要求1至10任意一项所述的方法,其特征在于,所述可执行文件的运行是通过CPU实现的;和/或
所述可执行文件包括基于通用程序语言的程序代码。
12.一种模型推理装置,其特征在于,所述装置包括:
接收模块,用于接收对可执行文件的运行指令,所述运行指令包括模型描述信息和模型输入数据;
处理模块,用于运行所述可执行文件,得到所述模型描述信息描述的神经网络模型对所述模型输入数据进行定点运算的运算结果;
输出模块,用于返回所述运算结果。
13.根据权利要求12所述的装置,其特征在于,所述处理模块,具体用于利用所述模型描述信息描述的神经网络模型对所述模型输入数据进行定点运算,得到所述运算结果。
14.根据权利要求12或13所述的装置,其特征在于,所述处理模块,包括:
输入单元,用于基于所述模型描述信息,确定所述神经网络模型的拓扑结构信息;
图分析单元,基于所述拓扑结构信息,确定所述神经网络模型的算子序列;
调度单元,用于基于所述算子序列中算子的排列顺序进行调度,得到所述运算结果。
15.根据权利要求12至14中任一项所述的装置,其特征在于,所述处理模块,包括:
量化单元,用于对所述模型描述信息描述的神经网络模型中的第一算子的权重进行量化处理,得到量化权重;
计算单元,用于利用所述量化权重对所述第一算子的量化输入数据进行运算处理,得到所述第一算子的激活数据;将所述第一算子的激活数据进行定点化处理后作为紧邻所述第一算子的第二算子的量化输入数据。
16.根据权利要求13至15中任一项所述的装置,其特征在于,对所述神经网络模型中的第一算子的量化处理是在调度所述第一算子之后进行的。
17.根据权利要求12至16中任意一项所述的装置,其特征在于,所述运行指令还包括量化配置信息,所述量化配置信息包括下列中的至少一种:量化精度、量化模式、量化参数。
18.根据权利要求12至17中任意一项所述的装置,其特征在于,所述处理模块,包括:
量化单元,用于基于所述运行指令,确定量化配置;基于量化配置,对所述模型输入数据和/或所述神经网络模型的权重数据进行量化处理。
19.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求1至11中任意一项所述的方法。
20.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至11中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010131243.4A CN113326942A (zh) | 2020-02-28 | 2020-02-28 | 模型推理方法及装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010131243.4A CN113326942A (zh) | 2020-02-28 | 2020-02-28 | 模型推理方法及装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113326942A true CN113326942A (zh) | 2021-08-31 |
Family
ID=77413375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010131243.4A Pending CN113326942A (zh) | 2020-02-28 | 2020-02-28 | 模型推理方法及装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113326942A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116629330A (zh) * | 2023-04-24 | 2023-08-22 | 北京大学 | 一种算子检测方法、装置以及计算机设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170017747A1 (en) * | 2015-07-15 | 2017-01-19 | International Business Machines Corporation | In-cycle resource sharing for high-level synthesis of microprocessors |
CN109754011A (zh) * | 2018-12-29 | 2019-05-14 | 北京中科寒武纪科技有限公司 | 基于Caffe的数据处理方法、装置和相关产品 |
CN110245741A (zh) * | 2018-03-09 | 2019-09-17 | 佳能株式会社 | 多层神经网络模型的优化和应用方法、装置及存储介质 |
CN110309911A (zh) * | 2019-07-05 | 2019-10-08 | 北京中科寒武纪科技有限公司 | 神经网络模型验证方法、装置、计算机设备和存储介质 |
US20190340492A1 (en) * | 2018-05-04 | 2019-11-07 | Microsoft Technology Licensing, Llc | Design flow for quantized neural networks |
CN110503180A (zh) * | 2019-08-14 | 2019-11-26 | Oppo广东移动通信有限公司 | 模型处理方法、装置以及电子设备 |
CN110619220A (zh) * | 2019-08-09 | 2019-12-27 | 北京小米移动软件有限公司 | 对神经网络模型加密的方法及装置、存储介质 |
CN110705696A (zh) * | 2019-10-11 | 2020-01-17 | 百度在线网络技术(北京)有限公司 | 神经网络的量化与定点化融合方法及装置 |
CN110766147A (zh) * | 2018-07-25 | 2020-02-07 | 赛灵思公司 | 神经网络编译器架构及编译方法 |
-
2020
- 2020-02-28 CN CN202010131243.4A patent/CN113326942A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170017747A1 (en) * | 2015-07-15 | 2017-01-19 | International Business Machines Corporation | In-cycle resource sharing for high-level synthesis of microprocessors |
CN110245741A (zh) * | 2018-03-09 | 2019-09-17 | 佳能株式会社 | 多层神经网络模型的优化和应用方法、装置及存储介质 |
JP2019160319A (ja) * | 2018-03-09 | 2019-09-19 | キヤノン株式会社 | 多階層ニューラルネットワークモデルを最適化して適用する方法及び装置、及び記憶媒体 |
US20190340492A1 (en) * | 2018-05-04 | 2019-11-07 | Microsoft Technology Licensing, Llc | Design flow for quantized neural networks |
CN110766147A (zh) * | 2018-07-25 | 2020-02-07 | 赛灵思公司 | 神经网络编译器架构及编译方法 |
CN109754011A (zh) * | 2018-12-29 | 2019-05-14 | 北京中科寒武纪科技有限公司 | 基于Caffe的数据处理方法、装置和相关产品 |
CN110309911A (zh) * | 2019-07-05 | 2019-10-08 | 北京中科寒武纪科技有限公司 | 神经网络模型验证方法、装置、计算机设备和存储介质 |
CN110619220A (zh) * | 2019-08-09 | 2019-12-27 | 北京小米移动软件有限公司 | 对神经网络模型加密的方法及装置、存储介质 |
CN110503180A (zh) * | 2019-08-14 | 2019-11-26 | Oppo广东移动通信有限公司 | 模型处理方法、装置以及电子设备 |
CN110705696A (zh) * | 2019-10-11 | 2020-01-17 | 百度在线网络技术(北京)有限公司 | 神经网络的量化与定点化融合方法及装置 |
Non-Patent Citations (1)
Title |
---|
姜典坤: "基于异构处理器的深度卷积神经网络加速系统设计与实现", 《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》, vol. 2019, no. 01 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116629330A (zh) * | 2023-04-24 | 2023-08-22 | 北京大学 | 一种算子检测方法、装置以及计算机设备 |
CN116629330B (zh) * | 2023-04-24 | 2024-04-16 | 北京大学 | 一种算子检测方法、装置以及计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109542399B (zh) | 软件开发方法、装置、终端设备及计算机可读存储介质 | |
US9912349B1 (en) | Method and apparatus for processing floating point number matrix, an apparatus and computer-readable storage medium | |
CN110852421B (zh) | 模型生成方法和装置 | |
CN111338623B (zh) | 一种开发用户界面的方法、装置、介质和电子设备 | |
CN115357350A (zh) | 任务配置方法、装置、电子设备和计算机可读介质 | |
CN110826706B (zh) | 用于神经网络的数据处理方法和装置 | |
CN113392018B (zh) | 流量分发方法、装置、存储介质及电子设备 | |
CN113326942A (zh) | 模型推理方法及装置、电子设备和存储介质 | |
CN113408704A (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN116072108A (zh) | 模型生成方法、语音识别方法、装置、介质及设备 | |
CN109471787B (zh) | 软件质量评价方法及装置、存储介质、电子设备 | |
CN110738313B (zh) | 用于评估量化操作的方法、装置、设备和介质 | |
CN114548407A (zh) | 层级目标定向因果发现方法、装置及电子设备 | |
CN111309323B (zh) | 参数初始化方法、装置和电子设备 | |
CN114218219A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN116189667B (zh) | 语音处理模型的量化压缩方法、装置、设备和存储介质 | |
CN115906983B (zh) | 分布式模型训练方法、装置、设备、存储介质及程序产品 | |
US20230128346A1 (en) | Method, device, and computer program product for task processing | |
US11620132B2 (en) | Reusing an operand received from a first-in-first-out (FIFO) buffer according to an operand specifier value specified in a predefined field of an instruction | |
CN115328811B (zh) | 用于工控网络仿真的程序语句测试方法、装置、电子设备 | |
CN114972955A (zh) | 一种数据处理方法、装置及存储介质 | |
CN113342633B (zh) | 一种性能测试方法和装置 | |
CN111158907B (zh) | 数据处理方法及装置、电子设备和存储介质 | |
CN113361677A (zh) | 神经网络模型的量化方法和装置 | |
CN116974922A (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 |