CN112836806A - 一种数据格式调整方法、装置、计算机设备和存储介质 - Google Patents

一种数据格式调整方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN112836806A
CN112836806A CN202110220390.3A CN202110220390A CN112836806A CN 112836806 A CN112836806 A CN 112836806A CN 202110220390 A CN202110220390 A CN 202110220390A CN 112836806 A CN112836806 A CN 112836806A
Authority
CN
China
Prior art keywords
bit width
width value
target
network layer
exponent
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.)
Granted
Application number
CN202110220390.3A
Other languages
English (en)
Other versions
CN112836806B (zh
Inventor
冯志芳
徐宁仪
胡英俊
王文强
沈煜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Power Tensors Intelligent Technology Co Ltd
Original Assignee
Shanghai Power Tensors Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Power Tensors Intelligent Technology Co Ltd filed Critical Shanghai Power Tensors Intelligent Technology Co Ltd
Priority to CN202110220390.3A priority Critical patent/CN112836806B/zh
Publication of CN112836806A publication Critical patent/CN112836806A/zh
Application granted granted Critical
Publication of CN112836806B publication Critical patent/CN112836806B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本公开提供了一种数据格式调整方法、装置、计算机设备和存储介质,其中,该方法包括:获取多个预设的尾数位宽值、多个预设的指数位宽值以及目标神经网络的标准检测精度;针对所述目标神经网络中至少部分网络层中的每个网络层,基于所述标准检测精度,从所述多个预设的尾数位宽值中选取该网络层中数据的目标尾数位宽值,以及从多个指数位宽值中选取该网络层中数据的目标指数位宽值;基于至少部分网络层中的每个网络层中数据的目标尾数位宽值和目标指数位宽值,分别确定每个网络层的数据的存储格式。

Description

一种数据格式调整方法、装置、计算机设备和存储介质
技术领域
本公开涉及神经网络领域,具体而言,涉及一种数据格式调整方法、装置、计算机设备和存储介质。
背景技术
针对神经网络,每个网络层中数据的数据范围可能存在差异,但关于每个网络层的数据的存储方式,大多采用统一的存储格式来进行数据存储。
为了尽量满足每个网络层对数据精度和数据分布范围的要求,采用的存储格式中一般尾数位宽值和指数位宽值均较大,这种方式就存在增加了不必要的位宽,造成了存储空间大量占用、存储速度降低、运算量以及功耗增加的缺陷。
发明内容
本公开实施例至少提供一种数据格式调整方法、装置、计算机设备和存储介质。
第一方面,本公开实施例提供了一种数据格式调整方法,包括:
获取多个预设的尾数位宽值、多个预设的指数位宽值以及目标神经网络的标准检测精度;
针对所述目标神经网络中至少部分网络层中的每个网络层,基于所述标准检测精度,从所述多个预设的尾数位宽值中选取该网络层中数据的目标尾数位宽值,以及从多个指数位宽值中选取该网络层中数据的目标指数位宽值;
基于至少部分网络层中的每个网络层中数据的目标尾数位宽值和目标指数位宽值,分别确定每个网络层的数据的存储格式。
该方面,实现了在不降低目标神经网络的标准检测精度的前提下,分别调整每个网络层的数据的存储格式。调整后的存储格式既能够满足对应网络层的数据分布范围的需求,也能够满足对应网络层的数据精度的要请求,同时,每个网络层的位宽相较于现有技术中所有网络层设置的统一的位宽较小,这就能够提高存储空间的占用率、提高存储速度、降低运算量以及与运算功耗。
在一种可能的实施方式中,所述尾数位宽值包括所述目标神经网络中权重对应的第一尾数位宽值;
基于所述标准检测精度,从所述多个预设的尾数位宽值中选取所述网络层中数据的目标尾数位宽值,包括:
将所述网络层中权重的指数位宽值设置为第一预设值,并将所述第一预设值依次与多个所述第一尾数位宽值中的每个第一尾数位宽值进行组合,得到多个第一位宽值组合;
针对每个第一位宽值组合,分别确定所述网络层中的权重以该第一位宽值组合的存储格式进行存储的情况下,所述目标神经网络的第一检测精度;
基于所述标准检测精度和所述第一检测精度,从所述多个第一尾数位宽值中选取所述网络层中权重的目标尾数位宽值。
这样,在将指数位宽值设置为一个固定值的情况下,确定的第一检测精度只跟尾数位宽值相关,因此基于标准检测精度和第一检测精度能够筛选出不会造成目标神经网络的检测精度下降的尾数位宽值,提高了确定的尾数位宽值的合理性。
在一种可能的实施方式中,所述基于所述标准数据预测精度和所述第一检测精度,从所述多个第一尾数位宽值中选取所述网络层中权重的目标尾数位宽值,包括:
基于所述标准检测精度,从所述多个第一位宽值组合中,选取第一检测精度大于或等于所述标准检测精度的第一位宽值组合;
将选取的第一位宽值组合中,最小的第一尾数位宽值作为所述网络层中权重的目标尾数位宽值。
这样,利用标准检测精度筛选第一位宽值组合,能够保证最终确定的尾数位宽值不会降低目标神经网络的检测精度;从不降低目标神经网络中的检测精度中的尾数位宽值中选取最小的尾数位宽值,能够降低尾数位宽值占用的存储空间,提高尾数位宽值的存储速度,从而有利于降低目标神经网络的运算量以及与运算功耗。
在一种可能的实施方式中,所述指数位宽值包括所述目标神经网络中权重对应的第一指数位宽值;
基于所述标准检测精度,从多个指数位宽值中选取所述网络层中数据的目标指数位宽值,包括:
将所述网络层的目标尾数位宽值依次与多个所述第一指数位宽值中的每个第一指数位宽值进行组合,得到多个第二位宽值组合;
针对每个第二位宽值组合,分别确定所述网络层中的权重以该第二位宽值组合的存储格式进行存储的情况下,所述目标神经网络的第二检测精度;
基于所述标准检测精度和所述第二检测精度,从所述多个第一指数位宽值中选取所述网络层中权重的目标指数位宽值。
这样,在将尾数位宽值设置为一个固定值的情况下,确定的第二检测精度只跟指数位宽值相关,因此基于标准检测精度和第二检测精度能够筛选出不会造成目标神经网络的检测精度下降的指数位宽值,提高了确定的指数位宽值的合理性。另外,目标指数位宽值是从预设的第一指数位宽值中选取的,因此,确定的目标指数位宽值能够满足对应网络层对数据分布范围的要求。
在一种可能的实施方式中,所述基于所述标准检测精度和所述第二检测精度,从所述多个第一指数位宽值中选取所述网络层中权重的目标指数位宽值,包括:
基于所述标准检测精度,从所述多个第二位宽值组合中,选取第二检测精度大于或等于所述标准检测精度的第二位宽值组合;
将选取的第二位宽值组合中,最小的第一指数位宽值作为所述网络层中权重的目标指数位宽值。
这样,利用标准检测精度筛选第二位宽值组合,能够保证最终确定的指数位宽值不会降低目标神经网络的检测精度;从不降低目标神经网络中的检测精度中的指数位宽值中选取最小的指数位宽值,能够降低指数位宽值占用的存储空间,提高指数位宽值的存储速度,从而有利于降低目标神经网络的运算量以及与运算功耗。
在一种可能的实施方式中,所述第一预设值包括多个预设的指数位宽值中的最大指数位宽值或所述目标神经网络中权重的初始指数位宽值。
这样,利用最大指数位宽值作为第一预设值,或者利用权重的初始指数位宽值作为第一预设值,能够满足网络层对数据分布范围的要求,从而能够避免指数位宽值对目标神经网络的检测精度的影响,从而能够筛选到不降低目标神经网络的检测精度的尾数位宽值。
在一种可能的实施方式中,所述尾数位宽值包括所述目标神经网络中特征图对应的第二尾数位宽值;
基于所述标准检测精度,从所述多个预设的尾数位宽值中选取所述网络层中数据的目标尾数位宽值,包括:
将所述网络层中特征图的指数位宽值设置为第二预设值,并将所述第二预设值依次与多个所述第二尾数位宽值中的每个第二尾数位宽值进行组合,得到多个第三位宽值组合;
针对每个第三位宽值组合,分别确定所述网络层中的特征图以该第三位宽值组合的存储格式进行存储的情况下,所述目标神经网络的第三检测精度;
基于所述标准检测精度和所述第三检测精度,从所述多个第二尾数位宽值中选取所述网络层中特征图的目标尾数位宽值。
这样,在将指数位宽值设置为一个固定值的情况下,确定的第三检测精度只跟尾数位宽值相关,因此基于标准检测精度和第三检测精度能够筛选出不会造成目标神经网络的检测精度下降的尾数位宽值,提高了确定的尾数位宽值的合理性。
在一种可能的实施方式中,确定所述目标神经网络中的特征图以所述第三位宽值组合的存储格式进行存储的情况下,所述目标神经网络的第三检测精度,包括:
确定所述网络层中的特征图以所述第三位宽值组合的存储格式进行存储,以及所述目标神经网络中的所述网络层的权重以权重的目标尾数位宽值和目标指数位宽值的存储格式进行存储的情况下,所述目标神经网络的第三检测精度。
这样,在将权重的存储格式设置为筛选出来的目标尾数位宽值和目标指数位宽值的前提下,来确定第三检测精度,能够提高确定的第三检测精度的准确性,进而,能够保证筛选出来的特征图的目标尾数位宽值不会降低目标神经网络的检测精度。
在一种可能的实施方式中,所述指数位宽值包括所述目标神经网络中特征图对应的第二指数位宽值;
基于所述标准检测精度,从多个指数位宽值中选取所述网络层中数据的目标指数位宽值,包括:
将所述网络层的特征图的目标尾数位宽值依次与多个所述第二指数位宽值中的每个第二指数位宽值进行组合,得到多个第四位宽值组合;
针对每个第四位宽值组合,分别确定所述网络层中的特征图以该第四位宽值组合的存储格式进行存储的情况下,所述目标神经网络的第四检测精度;
基于所述标准检测精度和所述第四检测精度,从所述多个第二指数位宽值中选取所述网络层中特征图的目标指数位宽值。
这样,在将尾数位宽值设置为一个固定值的情况下,确定的第四检测精度只跟指数位宽值相关,因此基于标准检测精度和第四检测精度能够筛选出不会造成目标神经网络的检测精度下降的指数位宽值,提高了确定的指数位宽值的合理性。另外,目标指数位宽值是从预设的第二指数位宽值中选取的,因此,确定的目标指数位宽值能够满足对应网络层对数据分布范围的要求。
在一种可能的实施方式中,所述针对所述目标神经网络中至少部分网络层中的每个网络层,基于所述标准检测精度,从所述多个预设的尾数位宽值中选取该网络层中数据的目标尾数位宽值,以及从多个指数位宽值中选取该网络层中数据的目标指数位宽值,包括:
确定所述至少部分网络层中的每个网络层的网络深度;
按照网络深度从低到高的顺序,针对至少部分网络层中的每个网络层,基于所述标准检测精度,从所述多个预设的尾数位宽值中选取该网络层中数据的目标尾数位宽值,以及从多个指数位宽值中选取该网络层中数据的目标指数位宽值。
这样,基于网络深度从低到高的顺序,依次调整每个网络层中数据的目标尾数位宽值和目标指数位宽值,能够符合目标神经网络在处理数据时的内部处理顺序,从而能够提高确定的目标尾数位宽值和目标指数位宽值的合理性和准确性。
第二方面,本公开实施例还提供一种数据格式调整装置,包括:
获取模块,用于获取多个预设的尾数位宽值、多个预设的指数位宽值以及目标神经网络的标准检测精度;
选取模块,用于针对所述目标神经网络中至少部分网络层中的每个网络层,基于所述标准检测精度,从所述多个预设的尾数位宽值中选取该网络层中数据的目标尾数位宽值,以及从多个指数位宽值中选取该网络层中数据的目标指数位宽值;
确定模块,用于基于至少部分网络层中的每个网络层中数据的目标尾数位宽值和目标指数位宽值,分别确定每个网络层的数据的存储格式。
在一种可能的实施方式中,所述尾数位宽值包括所述目标神经网络中权重对应的第一尾数位宽值;
所述选取模块,用于将所述网络层中权重的指数位宽值设置为第一预设值,并将所述第一预设值依次与多个所述第一尾数位宽值中的每个第一尾数位宽值进行组合,得到多个第一位宽值组合;
针对每个第一位宽值组合,分别确定所述网络层中的权重以该第一位宽值组合的存储格式进行存储的情况下,所述目标神经网络的第一检测精度;
基于所述标准检测精度和所述第一检测精度,从所述多个第一尾数位宽值中选取所述网络层中权重的目标尾数位宽值。
在一种可能的实施方式中,所述选取模块,用于基于所述标准检测精度,从所述多个第一位宽值组合中,选取第一检测精度大于或等于所述标准检测精度的第一位宽值组合;
将选取的第一位宽值组合中,最小的第一尾数位宽值作为所述网络层中权重的目标尾数位宽值。
在一种可能的实施方式中,所述指数位宽值包括所述目标神经网络中权重对应的第一指数位宽值;
所述选取模块,用于将所述网络层的目标尾数位宽值依次与多个所述第一指数位宽值中的每个第一指数位宽值进行组合,得到多个第二位宽值组合;
针对每个第二位宽值组合,分别确定所述网络层中的权重以该第二位宽值组合的存储格式进行存储的情况下,所述目标神经网络的第二检测精度;
基于所述标准检测精度和所述第二检测精度,从所述多个第一指数位宽值中选取所述网络层中权重的目标指数位宽值。
在一种可能的实施方式中,所述选取模块,用于基于所述标准检测精度,从所述多个第二位宽值组合中,选取第二检测精度大于或等于所述标准检测精度的第二位宽值组合;
将选取的第二位宽值组合中,最小的第一指数位宽值作为所述网络层中权重的目标指数位宽值。
在一种可能的实施方式中,所述第一预设值包括多个预设的指数位宽值中的最大指数位宽值或所述目标神经网络中权重的初始指数位宽值。
在一种可能的实施方式中,所述尾数位宽值包括所述目标神经网络中特征图对应的第二尾数位宽值;
所述选取模块,用于将所述网络层中特征图的指数位宽值设置为第二预设值,并将所述第二预设值依次与多个所述第二尾数位宽值中的每个第二尾数位宽值进行组合,得到多个第三位宽值组合;
针对每个第三位宽值组合,分别确定所述网络层中的特征图以该第三位宽值组合的存储格式进行存储的情况下,所述目标神经网络的第三检测精度;
基于所述标准检测精度和所述第三检测精度,从所述多个第二尾数位宽值中选取所述网络层中特征图的目标尾数位宽值。
在一种可能的实施方式中,所述选取模块,用于确定所述网络层中的特征图以所述第三位宽值组合的存储格式进行存储,以及所述目标神经网络中的所述网络层的权重以权重的目标尾数位宽值和目标指数位宽值的存储格式进行存储的情况下,所述目标神经网络的第三检测精度。
在一种可能的实施方式中,所述指数位宽值包括所述目标神经网络中特征图对应的第二指数位宽值;
所述选取模块,用于将所述网络层的特征图的目标尾数位宽值依次与多个所述第二指数位宽值中的每个第二指数位宽值进行组合,得到多个第四位宽值组合;
针对每个第四位宽值组合,分别确定所述网络层中的特征图以该第四位宽值组合的存储格式进行存储的情况下,所述目标神经网络的第四检测精度;
基于所述标准检测精度和所述第四检测精度,从所述多个第二指数位宽值中选取所述网络层中特征图的目标指数位宽值。
在一种可能的实施方式中,所述选取模块,用于确定所述至少部分网络层中的每个网络层的网络深度;
按照网络深度从低到高的顺序,针对至少部分网络层中的每个网络层,基于所述标准检测精度,从所述多个预设的尾数位宽值中选取该网络层中数据的目标尾数位宽值,以及从多个指数位宽值中选取该网络层中数据的目标指数位宽值。
第三方面,本公开可选实现方式还提供一种计算机设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
关于上述数据格式调整装置、计算机设备和存储介质的效果描述参见上述数据格式调整方法的说明,这里不再赘述。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种数据格式调整方法的流程图;
图2示出了本公开实施例所提供的一种二进制浮点数存储格式示意图;
图3示出了本公开实施例所提供的一种目标神经网络的数据预测流程图;
图4示出了本公开实施例所提供的一种调整每个网络层的权重的尾数位宽值的流程图;
图5示出了本公开实施例所提供的一种调整每个网络层的权重的指数位宽值的流程图;
图6示出了本公开实施例所提供的一种调整每个网络层的特征图的尾数位宽值的流程图;
图7示出了本公开实施例所提供的一种调整每个网络层的特征图的指数位宽值的流程图;
图8示出了本公开实施例所提供的一种数据格式调整装置的示意图;
图9示出了本公开实施例所提供的一种计算机设备结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
另外,本公开实施例中的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
经研究发现,针对神经网络,每个网络层中数据的数据范围可能存在差异,但关于每个网络层的数据的存储方式,大多采用统一的存储格式来进行数据存储。为了尽量满足每个网络层对数据精度和数据分布范围的要求,采用的存储格式中一般尾数位宽值和指数位宽值均较大,这种方式就存在增加了不必要的位宽,造成了存储空间大量占用、存储速度降低、运算量以及功耗增加的缺陷。
基于上述研究,本公开提供了一种数据格式调整方法、装置、计算机设备和存储介质,实现了在不降低目标神经网络的标准检测精度的前提下,分别调整每个网络层的数据的存储格式。调整后的存储格式既能够满足对应网络层的数据分布范围的需求,也能够满足对应网络层的数据精度的要请求,同时,每个网络层的位宽相较于现有技术中所有网络层设置的统一的位宽较小,这就能够提高存储空间的占用率、提高存储速度、降低运算量以及与运算功耗。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种数据格式调整方法进行详细介绍,本公开实施例所提供的数据格式调整方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该数据格式调整方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面以执行主体为计算机设备为例对本公开实施例提供的数据格式调整方法加以说明。
如图1所示,为本公开实施例提供的一种数据格式调整方法的流程图,可以包括以下步骤:
S101:获取多个预设的尾数位宽值、多个预设的指数位宽值以及目标神经网络的标准检测精度。
本步骤中,一个预设的尾数位宽值、一个预设的指数位宽值和一个固定的符号位宽值可以组成一种类型的二进制浮点数的存储格式,尾数位宽值可以表示其所对应的存储格式的尾数部分的位数,指数位宽值可以表示其所对应的存储格式的指数部分的位数,且,每一个存储格式对应的固定的符号位宽值默认为1。利用不同类型的存储格式,可以实现对不同目标神经网络中不同网络层的数据的存储,如图2所示,为本公开实施例所提供的一种二进制浮点数存储格式示意图,其中,符号位是最高位,指数位部分对应指数位宽值,尾数位部分对应尾数位宽值。
针对任一种类型的存储格式,使用由不同的指数位宽值组成的存储格式的目标神经网络能存储的数据范围不同,存储格式中的指数位宽值越大,数据范围越大;使用由不同的尾数位宽值组成的存储格式的目标神经网络输出数据的预测精度不同,存储格式中的尾数位宽值越大,预测精度越高。
常见的存储格式包括fp32/fp16/TF32/BF16等,其中,fp32存储格式的符号位,指数位宽值和尾数位宽值分别是1,8,23;fp16存储格式的符号位,指数位宽值和尾数位宽值分别为1,5,10;tf32存储格式的符号位,指数位宽值和尾数位宽值分别为1,8,10;bf16存储格式的符号位,指数位宽值和尾数位宽值分别为1,8,7,现有技术中,大多采用fp16存储格式作为目标神经网络的数据的存储格式。
标准检测精度可以是训练完成后的目标神经网络的检测精度,其中每个网络层中使用相同的数据存储格式。
为了确定目标神经网络中的每个网络层的数据的存储格式,需要先获取多个预设的尾数位宽值、多个预设的指数位宽值以及目标神经网络的标准检测精度,具体实施时,多个预设的尾数位宽值可以是7、8、9和10,多个预设的指数位宽值可以是5、6、7和8,其中,多个预设的尾数位宽值和多个预设的指数位宽值可以是根据对目标神经网络或其他多个神经网络的数据分布范围和数据精度要求进行分析后确定的。
S102:针对目标神经网络中至少部分网络层中的每个网络层,基于标准检测精度,从多个预设的尾数位宽值中选取该网络层中数据的目标尾数位宽值,以及从多个指数位宽值中选取该网络层中数据的目标指数位宽值。
关于对目标神经网络中网络层的数据的存储格式的调整,可以是对目标神经网络中包括的所有网络层中的部分网络层的数据的存储格式的调整,也可以是对目标神经网络中包括的所有网络层的数据的存储格式的调整,这里不进行限定。
针对调整每个网络层的数据的存储格式的过程,由于尾数位宽值的数值相对于指数位宽值要大,所以确定每个网络层的数据的目标尾数位宽值的数据处理难度较大,因此,在具体实施时,可以先调整每个网络层的数据的尾数位宽值,在确定目标尾数位宽值之后,基于目标尾数位宽值,再对该网络层的数据的指数位宽值进行调整,从而,可以得到该网络层的目标指数位宽值。在另一种实施例中,也可以先对指数位宽值进行调整,然后基于得到的目标指数位宽值,再确定目标尾数位宽值,这里不进行限定。
以先确定网络层的数据的目标尾数位宽值,再确定该网络层的数据的目标指数位宽值为例,针对需要调整存储格式的任一网络层,在获取多个预设的尾数位宽值之后,可以从中选取尾数位宽值对该网络层的数据的尾数位宽值进行调整,确定每次调整尾数位宽值之后,目标神经网络中该网络层的数据检测精度,然后可以基于确定的该网络层的数据检测精度和获取的该网络层的标准检测精度,从多个预设的尾数位宽值中选取该网络层中数据的目标尾数位宽值。同理,在获取多个预设的指数位宽值之后,可以从中选取指数位宽值对该网络层的指数位宽值进行调整,确定每次调整指数位宽值之后,目标神经网络中该网络层的数据检测精度,并基于确定的该网络层的数据检测精度和获取的该网络层的标准检测精度,从多个预设的指数位宽值中选取该网络层中数据的目标指数位宽值。
另外,在基于确定的该网络层的数据检测精度和获取的该网络层的标准检测精度,确定目标指数位宽值时,还需要确定使用调整后的指数位宽值对应的存储格式时,目标神经网络中该网络层对应的数据范围是否满足该网络层的原始数据范围,如果是,则可以基于使用该指数位宽值对应的存储格式的目标神经网络的数据检测精度,确定目标指数位宽值,如果否,则可以直接确定该指数位宽值不符合要求,确定该指数位宽值不可以作为目标指数位宽值。
或者,在从多个预设的指数位宽值中选取该网络层中数据的目标指数位宽值时,可以先从多个预设的指数位宽值中筛选使用调整后的指数位宽值对应的存储格式时,目标神经网络中该网络层对应的数据范围满足该网络层的原始数据范围的指数位宽值,然后再确定使用筛选出的指数位宽值对应的存储格式的目标神经网络的数据检测精度,进而,可以基于确定的数据检测精度和标准检测精度,选取目标指数位宽值。
在一种实施例中,在确定每次调整的尾数位宽值之后,可以选取测试样本对使用以该尾数位宽值对应的存储格式的目标神经网络进行测试,以确定使用该存储格式的目标神经网络的数据检测精度,同样的,关于使用每次调整的指数位宽值对应的存储格式的目标神经网络的数据检测精度的确定方法,和确定使用每次调整的尾数位宽值对应的存储格式的目标神经网络的数据检测精度一样,这里不再赘述。
基于此,可以确定目标神经网络中至少部分网络层中的每个网络层中数据的目标尾数位宽值和目标指数位宽值。
S103:基于至少部分网络层中的每个网络层中数据的目标尾数位宽值和目标指数位宽值,分别确定每个网络层的数据的存储格式。
这里,每个网络层的数据可以包括权重和特征图。
具体实施时,基于确定的至少部分网络层中的每个网络层中数据的目标尾数位宽值和目标指数位宽值,可以将每个网络层中数据的目标尾数位宽值和目标指数位宽值和一个固定的符号位宽值组合,得到每个网络层的数据的存储格式。
基于此,可以实现对至少部分网络层中的每个网络层中数据的存储格式化的分别调整。
这样,实现了在不降低目标神经网络的标准检测精度的前提下,分别调整每个网络层的数据的存储格式。调整后的存储格式既能够满足对应网络层的数据分布范围的需求,也能够满足对应网络层的数据精度的要求,同时,每个网络层的位宽相较于现有技术中所有网络层设置的统一的位宽较小,这就能够提高存储空间的占用率、提高存储速度、降低运算量以及与运算功耗。
在对本公开中数据格式调整方法进行详细说明之前,先对目标神经网络的预测过程进行说明:目标神经网络的数据预测结果可以由每个网络层的特征图和权重来确定,在获取样本数据之后,可以将样本数据输入目标神经网络,目标神经网络基于样本数据和第一网络层的权重,输出第一网络层的特征图,然后再将第一网络层的特征图输入到第二网络层,目标神经网络基于第一网络层的特征图和第二网络层的权重,确定第二网络层的特征图,依次类推,可以确定样本数据对应的数据预测结果,其中,权重和特征图对应的数据都用一定的存储格式进行存储。
如图3所示,为本公开实施例所提供的一种目标神经网络的数据预测流程图,其中,目标神经网络具有N+1个网络层。具体实施时,可以先将Input输入目标神经网络,然后该目标神经网络的layer_0,基于输入的Input和layer_0的权重weight_0,确定layer_0输出的特征图featuremap_0,然后,将featuremap_0输入到layer_1,基于输入的featuremap_0和layer_1的权重weight_1,确定layer_1输出的特征图featuremap_1,依次类推,目标神经网络可以输出最终的Output,其中,Input表示输入,layer_0表示第1个网络层,layer_1表示第2个网络层,weight_0表示第1个网络层的权重,weight_1表示第2个网络层的权重,featuremap_0表示第1个网络层的特征图,featuremap_1表示第2个网络层的特征图,Output表示输出。
根据图3所示的数据预测流程,本公开实施例提供的数据格式调整方法,可以分开对每个网络层的权重和特征图对应的存储格式进行确定,由于目标神经网络中每个网络层的特征图依赖于该网络层的权重,所以在具体实施时,可以先对每个网络层的权重的存储格式进行调整,基于调整后的权重的存储格式,再对每个网络层的特征图的存储格式进行调整。如图4所示,为本公开实施例所提供的一种调整每个网络层的权重的尾数位宽值的流程图,可以包括以下步骤:
S401:将网络层中权重的指数位宽值设置为第一预设值,并将第一预设值依次与多个第一尾数位宽值中的每个第一尾数位宽值进行组合,得到多个第一位宽值组合。
S402:针对每个第一位宽值组合,分别确定网络层中的权重以该第一位宽值组合的存储格式进行存储的情况下,目标神经网络的第一检测精度。
S403:基于标准检测精度和第一检测精度,从多个第一尾数位宽值中选取网络层中权重的目标尾数位宽值。
这里,针对任一正在调整权重的存储格式的网络层,可以先对该网络层的权重的存储格式中的尾数位宽值进行调整,得到权重的目标尾数位宽值,然后再基于确定的目标尾数位宽值,调整该网络层的权重的存储格式中的指数位宽值,从而,可以得到权重的目标指数位宽值。
尾数位宽值可以包括目标神经网络中权重对应的第一尾数位宽值,第一预设值可以包括多个预设的指数位宽值中的最大指数位宽值或目标神经网络中权重的初始指数位宽值,这里,利用最大指数位宽值作为第一预设值,或者利用权重的初始指数位宽值作为第一预设值,能够满足网络层对数据分布范围的要求,从而能够避免指数位宽值对目标神经网络的检测精度的影响,从而能够筛选到不降低目标神经网络的检测精度的尾数位宽值。
具体实施时,由于本公开实施例是先对权重的尾数位宽值进行调整,所以可以将目标神经网络中权重的指数位宽值设置为第一预设值,例如,第一预设值可以是上述实施例中的多个预设的指数位宽值中的最大指数位宽值8,然后可以将第一预设值依次与多个预设的第一尾数位宽值中的每个第一尾数位宽值进行组合,得到多个第一位宽值组合,例如,得到的多个第一位宽值组合可以是由上述实施例中的多个预设的第一尾数位宽值和最大指数位宽值8组成的,具体的,可以是由8和7组成的第一位宽值组合,是由8和8组成的第一位宽值组合,是由8和9组成的第一位宽值组合,是由8和10组成的第一位宽值组合。
进一步的,针对多个第一位宽值组合中的每个第一位宽值组合,可以将该第一位宽值组合对应的存储格式作为正在调整权重的网络层的存储格式,然后将测试样本输入目标神经网络,确定目标神经网络中该网络层的权重使用第一位宽值组合对应的存储格式时,目标神经网络的第一检测精度,其中,该第一检测精度为正在调整权重的网络层使用该第一位宽值组合对应的存储格式时,目标神经网络的检测精度,进而,可以确定正在调整权重的网络层分别使用每个第一位宽值组合对应的存储格式时,目标神经网络对应的第一检测精度,然后可以按照以下步骤,从预设的多个第一尾数位宽值中选取网络层中权重的目标尾数位宽值:
步骤一、基于所述标准检测精度,从多个第一位宽值组合中,选取第一检测精度大于或等于标准检测精度的第一位宽值组合;
步骤二、将选取的第一位宽值组合中,最小的第一尾数位宽值作为网络层中权重的目标尾数位宽值。
这里,在确定正在调整权重的网络层分别使用每个第一位宽值组合对应的存储格式时,目标神经网络对应的第一检测精度之后,可以将确定的第一精测精度和获取的标准检测精度进行比较,选取第一检测精度大于或等于标准检测精度的第一检测精度对应的第一位宽值组合,这样,利用标准检测精度筛选第一位宽值组合,能够保证最终确定的尾数位宽值不会降低目标神经网络的检测精度。
在一种实施例中,如果目标神经网络中每个网络层的数据检测精度都不一样,则在调整网络层的数据的存储格式时,需要将确定的第一检测精度与该网络层对应的数据检测精度进行比较,以筛选出符合要求的第一位宽值组合。
进一步的,基于筛选出的第一位宽值组合,可以分别确定每个筛选出的第一位宽值组合中的第一尾数位宽值,然后将最小的第一尾数位宽值作为正在调整权重的存储格式的网络层的目标尾数位宽值,这样,从不降低目标神经网络中的检测精度中的尾数位宽值中选取最小的尾数位宽值,能够降低尾数位宽值占用的存储空间,提高尾数位宽值的存储速度,从而有利于降低目标神经网络的运算量以及与运算功耗。
在另一种实施例中,如果未能筛选出符合要求的第一位宽值组合,则可以将正在调整权重的存储格式的网络层的原始尾数位宽值作为目标尾数位宽值,即该原始尾数位宽值为存储该网络层的数据的最优的尾数位宽值。
进一步的,针对任一正在调整权重的存储格式的网络层,在确定该网络层的权重的目标尾数位宽值之后,可以基于确定的该网络层的权重的目标尾数位宽值,确定该网络层的权重的目标指数位宽值。
如图5所示,为本公开实施例所提供的一种调整每个网络层的权重的指数位宽值的流程图,可以包括以下步骤:
S501:将网络层的目标尾数位宽值依次与多个第一指数位宽值中的每个第一指数位宽值进行组合,得到多个第二位宽值组合。
S502:针对每个第二位宽值组合,分别确定网络层中的权重以该第二位宽值组合的存储格式进行存储的情况下,目标神经网络的第二检测精度。
S503:基于标准检测精度和第二检测精度,从多个第一指数位宽值中选取网络层中权重的目标指数位宽值。
这里,指数位宽值包括目标神经网络中权重对应的第一指数位宽值。
具体实施时,在确定该网络层的目标尾数位宽值之后,可以将目标尾数位宽值依次与多个第一指数位宽值中的每个第一指数位宽值进行组合,得到多个第二位宽值组合,然后,针对多个第二位宽值组合中的每个第二位宽值组合,可以将该第二位宽值组合对应的存储格式作为正在调整权重的网络层的存储格式,然后,可以将测试样本输入目标神经网络,确定目标神经网络中该网络层的权重使用第二位宽值组合对应的存储格式时,目标神经网络的第二检测精度,其中,该第二检测精度为正在调整权重的网络层使用该第二位宽值组合对应的存储格式时,目标神经网络的检测精度,进而,可以确定正在调整权重的网络层分别使用每个第二位宽值组合对应的存储格式时,目标神经网络对应的第二检测精度。
进一步的,可以将每个第二检测精度和获取的标准检测精度进行比较,选取第二检测精度大于或等于标准检测精度的第二检测精度对应的第二位宽值组合,这样,利用标准检测精度筛选第二位宽值组合,能够保证最终确定的指数位宽值不会降低目标神经网络的检测精度。
在一种实施例中,如果目标神经网络中每个网络层的数据检测精度都不一样,则在调整网络层的数据的存储格式时,需要将确定的第二检测精度与该网络层对应的数据检测精度进行比较,以筛选出符合要求的第二位宽值组合。
之后,基于筛选出的第二位宽值组合,可以分别确定每个筛选出的第二位宽值组合中的第一指数位宽值,然后将最小的第一指数位宽值作为正在调整权重的存储格式的网络层的目标指数位宽值,这样,从不降低目标神经网络中的检测精度中的指数位宽值中选取最小的指数位宽值,能够降低指数位宽值占用的存储空间,提高指数位宽值的存储速度,从而有利于降低目标神经网络的运算量以及与运算功耗。
在一种实施方式中,在确定最小的第一指数位宽值之后,还可以确定该最小的第一指数位宽值是否小于该网络层的权重的原始指数位宽值,如果是,则将该最小的第一指数位宽值作为该网络层的目标指数位宽值,如果否,则将该网络层的权重的原始指数位宽值作为目标指数位宽值。这样,能够实现对最优的权重的原始指数位宽值的继续使用,避免正在调整权重的网络层使用调整后的目标指数位宽值对应的存储格式时、目标神经网络的存储效果比正在调整权重的网络层使用原始指数位宽值对应的存储格式时、目标神经网络的存储效果差的情况,进而,能够实现正在调整权重的网络层使用最终确定的权重的目标指数位宽值对应的存储格式时,目标神经网络的存储效果最好。
另外,在基于第二检测精度和标准检测精度筛选符合要求的第二位宽值组合时,还可以基于正在调整权重的网络层使用第二位宽值组合对应的存储格式时,目标神经网络对应的数据范围以及正在调整权重的存储格式的网络层的数据范围,从第二位宽值组合中筛选出满足正在调整权重的存储格式的网络层的数据范围的第二位宽值组合,这样,正在调整权重的网络层使用筛选出的第二位宽值组合对应的存储格式时,目标神经网络的检测精度既能满足检测精度要求,目标神经网络对应的数据范围又能满足数据范围要求,从而,可以提高确定的目标指数位宽值的合理性。
这样,可以实现从多个预设的尾数位宽值中选取正在调整权重的存储格式的网络层的目标尾数位宽值,以及从多个指数位宽值中选取该网络层中权重的目标指数位宽值,进一步的,可以确定出目标神经网络中至少部分网络层中的每个网络层的权重的目标尾数位宽值和目标指数位宽值,从而,可以确定每个网络层的权重的存储格式。
由上述实施例可知,在确定每个网络层的权重的存储格式之后,可以基于确定的权重的存储格式,确定每个网络层的特征图的存储格式,具体实施时,针对任一个需要调整特征图的存储格式的网络层,可以基于确定的该网络层的权重的存储格式,先确定该网络层的特征图的目标尾数位宽值,然后基于确定的该目标尾数位宽值和该网络层的权重的存储格式,再确定该网络层的特征图的目标指数位宽值。
如图6所示,为本公开实施例所提供的一种调整每个网络层的特征图的尾数位宽值的流程图,可以包括以下步骤:
S601:将网络层中特征图的指数位宽值设置为第二预设值,并将第二预设值依次与多个第二尾数位宽值中的每个第二尾数位宽值进行组合,得到多个第三位宽值组合。
S602:针对每个第三位宽值组合,分别确定网络层中的特征图以该第三位宽值组合的存储格式进行存储的情况下,目标神经网络的第三检测精度。
S603:基于标准检测精度和第三检测精度,从多个第二尾数位宽值中选取网络层中特征图的目标尾数位宽值。
这里,尾数位宽值可以包括目标神经网络中特征图对应的第二尾数位宽值,第二预设值可以包括多个预设的指数位宽值中的最大指数位宽值或目标神经网络中特征图的初始指数位宽值。
具体实施时,由于本公开实施例是先对特征图的尾数位宽值进行调整,所以可以将目标神经网络中特征图的指数位宽值设置为第二预设值,然后将第二预设值依次与多个预设的第二尾数位宽值中的每个第二尾数位宽值进行组合,得到多个第三位宽值组合。然后,针对多个第三位宽值组合中的每个第三位宽值组合,可以将该第三位宽值组合对应的存储格式作为正在调整特征图的网络层的存储格式,然后将测试样本输入目标神经网络,确定目标神经网络中的特征图以该第三位宽值组合的存储格式进行存储的情况下,目标神经网络的第三检测精度,其中,该第三检测精度为正在调整特征图的网络层使用该第三位宽值组合对应的存储格式时,目标神经网络的检测精度,进而,可以确定正在调整特征图的网络层分别使用每个第三位宽值组合对应的存储格式时,目标神经网络对应的第三检测精度。
在一种实施例中,针对步骤S602,在将测试样本输入目标神经网络之后,针对正在调整特征图的存储格式的网络层,需要基于确定的该网络层的权重的存储格式,确定目标神经网络的第三检测精度。具体实施时,基于确定的该网络层的权重的存储格式,可以确定目标神经网络中的该网络层的特征图以第三位宽值组合的存储格式进行存储,以及该网络层的权重以确定的权重的存储格式进行存储的情况下,目标神经网络的第三检测精度。
进一步的,在确定正在调整特征图的网络层分别使用每一个第三位宽值组合对应的存储格式时,目标神经网络对应的第三检测精度之后,可以将确定的第三精测精度和获取的标准检测精度进行比较,选取第三检测精度大于或等于标准检测精度的第三检测精度对应的第三位宽值组合,这样,利用标准检测精度筛选第三位宽值组合,能够保证最终确定的尾数位宽值不会降低目标神经网络的检测精度。
然后,基于筛选出的第三位宽值组合,可以分别确定每个筛选出的第三位宽值组合中的第二尾数位宽值,然后将最小的第二尾数位宽值作为正在调整特征图的存储格式的网络层的目标尾数位宽值,这样,从不降低目标神经网络中的检测精度中的尾数位宽值中选取最小的尾数位宽值,能够降低尾数位宽值占用的存储空间,提高尾数位宽值的存储速度,从而有利于降低目标神经网络的运算量以及与运算功耗。
在另一种实施例中,如果未能筛选出符合要求的第三位宽值组合,则可以将正在调整特征图的存储格式的网络层的原始尾数位宽值作为目标尾数位宽值,即该原始尾数位宽值为存储该网络层的数据的最优的尾数位宽值。
进一步的,针对任一正在调整特征图的存储格式的网络层,在确定该网络层的特征图的目标尾数位宽值之后,可以基于确定的该网络层的特征图的目标尾数位宽值,确定该网络层的特征图的目标指数位宽值。
如图7所示,为本公开实施例所提供的一种调整每个网络层的特征图的指数位宽值的流程图,可以包括以下步骤:
S701:将网络层的特征图的目标尾数位宽值依次与多个第二指数位宽值中的每个第二指数位宽值进行组合,得到多个第四位宽值组合。
S702:针对每个第四位宽值组合,分别确定网络层中的特征图以该第四位宽值组合的存储格式进行存储的情况下,目标神经网络的第四检测精度。
S703:基于标准检测精度和第四检测精度,从多个第二指数位宽值中选取网络层中特征图的目标指数位宽值。
这里,指数位宽值包括目标神经网络中特征图对应的第二指数位宽值。
具体实施时,在确定该网络层的目标尾数位宽值之后,可以将目标尾数位宽值依次与多个第二指数位宽值中的每个第二指数位宽值进行组合,得到多个第四位宽值组合,然后,针对多个第四位宽值组合中的每个第四位宽值组合,可以将该第四位宽值组合对应的存储格式作为正在调整特征图的网络层的存储格式,然后,可以将测试样本输入目标神经网络,目标神经网络中该网络层的特征图使用第四位宽值组合对应的存储格式时,目标神经网络的第四检测精度,其中,该第四检测精度为正在调整特征图的网络层使用该第四位宽值组合对应的存储格式时,目标神经网络的检测精度,进而,可以确定正在调整特征图的网络层分别使用每个第四位宽值组合对应的存储格式时,目标神经网络对应的第四检测精度。
进一步的,可以将每个第四检测精度和获取的标准检测精度进行比较,选取第四检测精度大于或等于标准检测精度的第四检测精度对应的第四位宽值组合,这样,利用标准检测精度筛选第四位宽值组合,能够保证最终确定的指数位宽值不会降低目标神经网络的检测精度。
在一种实施例中,如果目标神经网络中每个网络层的数据检测精度都不一样,则在调整网络层的数据的存储格式时,需要将确定的第四检测精度与该网络层对应的数据检测精度进行比较,以筛选出符合要求的第四位宽值组合。
之后,基于筛选出的第四位宽值组合,可以分别确定每个筛选出的第四位宽值组合中的第二指数位宽值,然后将最小的第二指数位宽值作为正在调整特征图的存储格式的网络层的目标指数位宽值,这样,从不降低目标神经网络中的检测精度中的指数位宽值中选取最小的指数位宽值,能够降低指数位宽值占用的存储空间,提高指数位宽值的存储速度,从而有利于降低目标神经网络的运算量以及与运算功耗。
在一种实施方式中,在确定最小的第二指数位宽值之后,还可以确定该最小的第二指数位宽值是否小于该网络层特征图的原始指数位宽值,如果是,则将该最小的第二指数位宽值作为该网络层的目标指数位宽值,如果否,则将该网络层的特征图的原始指数位宽值作为目标指数位宽值。这样,能够实现对最优的特征图的原始指数位宽值的继续使用,避免正在调整特征图的网络层使用调整后的目标指数位宽值对应的存储格式时、目标神经网络的存储效果比正在调整特征图的网络层使用原始指数位宽值对应的存储格式时、目标神经网络存储效果差的情况,进而,能够实现正在调整特征图的网络层使用最终确定的特征图的目标指数位宽值对应的存储格式时,目标神经网络的存储效果最好。
另外,在基于第四检测精度和标准检测精度筛选符合要求的第四位宽值组合时,还可以基于正在调整特征图的网络层使用第四位宽值组合对应的存储格式时,目标神经网络对应的数据范围以及正在调整特征图的存储格式的网络层的数据范围,从第四位宽值组合中筛选出满足正在调整特征图的存储格式的网络层的数据范围的第四位宽值组合,这样,正在调整特征图的网络层使用第四位宽值组合对应的存储格式时,目标神经网络的检测精度既能满足检测精度要求,目标神经网络对应的数据范围又能满足数据范围要求,从而,可以提高确定的目标指数位宽值的合理性。
这样,可以实现从多个预设的尾数位宽值中选取正在调整特征图的存储格式的网络层的目标尾数位宽值,以及从多个指数位宽值中选取该网络层中特征图的目标指数位宽值,进一步的,可以确定出目标神经网络中至少部分网络层中的每个网络层的特征图的目标尾数位宽值和目标指数位宽值,从而,可以确定每个网络层的特征图的存储格式。
另外,在根据确定每个网络层的权重的存储格式,确定该网络层的特征图的存储格式时,可以在确定至少部分网络层中的每个网络层中权重的存储格式之后,再确定至少部分网络层中的每个网络层中特征图的存储格式。在另一种实施例中,针对至少部分网络层中的每个网络层的数据,可以在确定该网络层中权重的存储格式之后,基于该网络层中权重的存储格式,确定该网络层中特征图的存储格式,然后,再确定该网络层的下一个网络层的权重的存储格式以及特征图的存储格式,进而,可以确定至少部分网络层中的每个网络层的数据的存储格式。
在一个实施例中,针对步骤S102,在确定至少部分网络层中的每个网络层的数据的存储格式的过程中,可以先确定至少部分网络层中的每个网络层的网络深度,其中,每个网络层的网络深度可以为目标神经网络中每个网络层的层数,例如,可以为第1层,第2层等,然后可以按照每个网络层的网络深度从低到高的顺序,即从低层到高层的顺序,基于获取的标准检测精度,依次从多个预设的尾数位宽值中选取每个网络层中数据的目标尾数位宽值,以及从多个指数位宽值中选取每个网络层中数据的目标指数位宽值,以实现依次调整至少部分网络层中的每个网络层的数据的存储格式。
这样,基于网络深度从低到高的顺序,依次调整每个网络层中数据的目标尾数位宽值和目标指数位宽值,能够符合目标神经网络在处理数据时的内部处理顺序,从而能够提高确定的目标尾数位宽值和目标指数位宽值的合理性和准确性。
在一个实施例中,关于对目标神经网络中每个网络层的权重和特征图的存储格式的具体调整过程,这里进行详细介绍。
针对每个网络层的权重的存储格式,由于每个存储格式中的尾数位宽值对使用该存储格式的目标神经网络的检测精度存在影响,且数据处理难度较大,可以先确定该网络层的权重的存储格式中目标尾数位宽值,在确定目标尾数位宽值之后,再确定该网络层的目标指数位宽值,进而,可以确定该网络层的权重的存储格式。
以目标神经网络对应的存储格式为fp16为例,可以获取多个预设的尾数位宽值、多个预设的指数位宽值以及目标神经网络的标准检测精度。
然后,针对该网络层的权重的存储格式中的尾数位宽值,可以将多个预设的指数位宽值中的最大值依次与多个预设的尾数位宽值进行组合,得到多个不同的第一位宽值组合,然后,分别确定以每个第一位宽值组合的存储格式进行存储的情况下,将样本数据输入到目标神经网络时,神经网络的输出的对应的第一检测精度,然后将每个第一检测精度与标准检测精度进行比较,确定大于或等于标准检测精度的第一检测精度,进而,可以确定大于或等于标准检测精度的第一检测精度对应的第一位宽值组合,从第一位宽值组合选取最小的尾数位宽值作为目标尾数位宽值,这里,使用预设的指数位宽值中的最大值进行组合,能够保障不会因为数据范围的问题造成对精度检测结果的影响,选取最小的尾数位宽值作为目标尾数位宽值,能够减少尾数位宽值的数量,能够减少占用的存储空间,并提高存储的速度。
在确定该网络层的权重的存储格式中的目标尾数位宽值之后,需要再确定该网络层的权重的存储格式中的目标指数位宽值,具体实施时,可以将目标尾数位宽值依次与多个预设的指数位宽值进行组合,得到多个不同的第二位宽值组合,然后,分别确定以每个第二位宽值组合的存储格式进行存储的情况下,将样本数据输入到目标神经网络时,神经网络的输出对应的第二检测精度,然后将每个第二检测精度与标准检测精度进行比较,确定大于或等于标准检测精度的第二检测精度,进而,可以确定大于或等于标准检测精度的第二检测精度对应的第二位宽值组合,从第二位宽值组合选取最小的指数位宽值作为目标指数位宽值,进而,可以将确定的目标尾数位宽值和目标指数位宽值作为该网络层的权重的存储格式,进而,可以利用上述方式确定,按照从低层到高层的顺序,依次确定每个网络层的权重的存储格式。
在确定每个网络层的权重的存储格式之后,针对每个网络层,可以利用该层的权重的存储格式、多个预设的指数位宽值、多个预设的尾数位宽值、目标神经网络的标准检测精度,按照确定每个网络层的权重的存储格式的目标尾数位宽值和目标指数位宽值的方法,依次确定每个网络层的特征图的存储格式,在一种实施例中,还可以按照从低层到高层的顺序,依次确定每个网络层的特征图的存储格式,这里不再赘述。这样,可以实现对目标神经网络的每个网络层的权重和特征图的数据的存储格式的逐层调整,实现在目标神经网络中利用不同的存储格式对数据进行存储,提高数据存储的速度,减少资源的占用率。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与数据格式调整方法对应的数据格式调整装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述数据格式调整方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
如图8所示,为本公开实施例提供的一种数据格式调整装置的示意图,包括:
获取模块801,用于获取多个预设的尾数位宽值、多个预设的指数位宽值以及目标神经网络的标准检测精度;
选取模块802,用于针对所述目标神经网络中至少部分网络层中的每个网络层,基于所述标准检测精度,从所述多个预设的尾数位宽值中选取该网络层中数据的目标尾数位宽值,以及从多个指数位宽值中选取该网络层中数据的目标指数位宽值;
确定模块803,用于基于至少部分网络层中的每个网络层中数据的目标尾数位宽值和目标指数位宽值,分别确定每个网络层的数据的存储格式。
在一种可能的实施方式中,所述尾数位宽值包括所述目标神经网络中权重对应的第一尾数位宽值;
所述选取模块802,用于将所述网络层中权重的指数位宽值设置为第一预设值,并将所述第一预设值依次与多个所述第一尾数位宽值中的每个第一尾数位宽值进行组合,得到多个第一位宽值组合;
针对每个第一位宽值组合,分别确定所述网络层中的权重以该第一位宽值组合的存储格式进行存储的情况下,所述目标神经网络的第一检测精度;
基于所述标准检测精度和所述第一检测精度,从所述多个第一尾数位宽值中选取所述网络层中权重的目标尾数位宽值。
在一种可能的实施方式中,所述选取模块802,用于基于所述标准检测精度,从所述多个第一位宽值组合中,选取第一检测精度大于或等于所述标准检测精度的第一位宽值组合;
将选取的第一位宽值组合中,最小的第一尾数位宽值作为所述网络层中权重的目标尾数位宽值。
在一种可能的实施方式中,所述指数位宽值包括所述目标神经网络中权重对应的第一指数位宽值;
所述选取模块802,用于将所述网络层的目标尾数位宽值依次与多个所述第一指数位宽值中的每个第一指数位宽值进行组合,得到多个第二位宽值组合;
针对每个第二位宽值组合,分别确定所述网络层中的权重以该第二位宽值组合的存储格式进行存储的情况下,所述目标神经网络的第二检测精度;
基于所述标准检测精度和所述第二检测精度,从所述多个第一指数位宽值中选取所述网络层中权重的目标指数位宽值。
在一种可能的实施方式中,所述选取模块802,用于基于所述标准检测精度,从所述多个第二位宽值组合中,选取第二检测精度大于或等于所述标准检测精度的第二位宽值组合;
将选取的第二位宽值组合中,最小的第一指数位宽值作为所述网络层中权重的目标指数位宽值。
在一种可能的实施方式中,所述第一预设值包括多个预设的指数位宽值中的最大指数位宽值或所述目标神经网络中权重的初始指数位宽值。
在一种可能的实施方式中,所述尾数位宽值包括所述目标神经网络中特征图对应的第二尾数位宽值;
所述选取模块802,用于将所述网络层中特征图的指数位宽值设置为第二预设值,并将所述第二预设值依次与多个所述第二尾数位宽值中的每个第二尾数位宽值进行组合,得到多个第三位宽值组合;
针对每个第三位宽值组合,分别确定所述网络层中的特征图以该第三位宽值组合的存储格式进行存储的情况下,所述目标神经网络的第三检测精度;
基于所述标准检测精度和所述第三检测精度,从所述多个第二尾数位宽值中选取所述网络层中特征图的目标尾数位宽值。
在一种可能的实施方式中,所述选取模块802,用于确定所述网络层中的特征图以所述第三位宽值组合的存储格式进行存储,以及所述目标神经网络中的所述网络层的权重以权重的目标尾数位宽值和目标指数位宽值的存储格式进行存储的情况下,所述目标神经网络的第三检测精度。
在一种可能的实施方式中,所述指数位宽值包括所述目标神经网络中特征图对应的第二指数位宽值;
所述选取模块802,用于将所述网络层的特征图的目标尾数位宽值依次与多个所述第二指数位宽值中的每个第二指数位宽值进行组合,得到多个第四位宽值组合;
针对每个第四位宽值组合,分别确定所述网络层中的特征图以该第四位宽值组合的存储格式进行存储的情况下,所述目标神经网络的第四检测精度;
基于所述标准检测精度和所述第四检测精度,从所述多个第二指数位宽值中选取所述网络层中特征图的目标指数位宽值。
在一种可能的实施方式中,所述选取模块802,用于确定所述至少部分网络层中的每个网络层的网络深度;
按照网络深度从低到高的顺序,针对至少部分网络层中的每个网络层,基于所述标准检测精度,从所述多个预设的尾数位宽值中选取该网络层中数据的目标尾数位宽值,以及从多个指数位宽值中选取该网络层中数据的目标指数位宽值。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例还提供了一种计算机设备,如图9所示,为本公开实施例提供的一种计算机设备结构示意图,包括:
处理器91和存储器92;所述存储器92存储有处理器91可执行的机器可读指令,处理器91用于执行存储器92中存储的机器可读指令,所述机器可读指令被处理器91执行时,处理器91执行下述步骤:S101:获取多个预设的尾数位宽值、多个预设的指数位宽值以及目标神经网络的标准检测精度;S102:针对目标神经网络中至少部分网络层中的每个网络层,基于标准检测精度,从多个预设的尾数位宽值中选取该网络层中数据的目标尾数位宽值,以及从多个指数位宽值中选取该网络层中数据的目标指数位宽值以及S103:基于至少部分网络层中的每个网络层中数据的目标尾数位宽值和目标指数位宽值,分别确定每个网络层的数据的存储格式。
上述存储器92包括内存921和外部存储器922;这里的内存921也称内存储器,用于暂时存放处理器91中的运算数据,以及与硬盘等外部存储器922交换的数据,处理器91通过内存921与外部存储器922进行数据交换。
上述指令的具体执行过程可以参考本公开实施例中所述的数据格式调整方法的步骤,此处不再赘述。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的数据格式调整方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的数据格式调整方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的数据格式调整方法的步骤,具体可参见上述方法实施例,在此不再赘述。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (13)

1.一种数据格式调整方法,其特征在于,包括:
获取多个预设的尾数位宽值、多个预设的指数位宽值以及目标神经网络的标准检测精度;
针对所述目标神经网络中至少部分网络层中的每个网络层,基于所述标准检测精度,从所述多个预设的尾数位宽值中选取该网络层中数据的目标尾数位宽值,以及从多个指数位宽值中选取该网络层中数据的目标指数位宽值;
基于至少部分网络层中的每个网络层中数据的目标尾数位宽值和目标指数位宽值,分别确定每个网络层的数据的存储格式。
2.根据权利要求1所述的方法,其特征在于,所述尾数位宽值包括所述目标神经网络中权重对应的第一尾数位宽值;
基于所述标准检测精度,从所述多个预设的尾数位宽值中选取所述网络层中数据的目标尾数位宽值,包括:
将所述网络层中权重的指数位宽值设置为第一预设值,并将所述第一预设值依次与多个所述第一尾数位宽值中的每个第一尾数位宽值进行组合,得到多个第一位宽值组合;
针对每个第一位宽值组合,分别确定所述网络层中的权重以该第一位宽值组合的存储格式进行存储的情况下,所述目标神经网络的第一检测精度;
基于所述标准检测精度和所述第一检测精度,从所述多个第一尾数位宽值中选取所述网络层中权重的目标尾数位宽值。
3.根据权利要求2所述的方法,其特征在于,所述基于所述标准数据预测精度和所述第一检测精度,从所述多个第一尾数位宽值中选取所述网络层中权重的目标尾数位宽值,包括:
基于所述标准检测精度,从所述多个第一位宽值组合中,选取第一检测精度大于或等于所述标准检测精度的第一位宽值组合;
将选取的第一位宽值组合中,最小的第一尾数位宽值作为所述网络层中权重的目标尾数位宽值。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述指数位宽值包括所述目标神经网络中权重对应的第一指数位宽值;
基于所述标准检测精度,从多个指数位宽值中选取所述网络层中数据的目标指数位宽值,包括:
将所述网络层的目标尾数位宽值依次与多个所述第一指数位宽值中的每个第一指数位宽值进行组合,得到多个第二位宽值组合;
针对每个第二位宽值组合,分别确定所述网络层中的权重以该第二位宽值组合的存储格式进行存储的情况下,所述目标神经网络的第二检测精度;
基于所述标准检测精度和所述第二检测精度,从所述多个第一指数位宽值中选取所述网络层中权重的目标指数位宽值。
5.根据权利要求4所述的方法,其特征在于,所述基于所述标准检测精度和所述第二检测精度,从所述多个第一指数位宽值中选取所述网络层中权重的目标指数位宽值,包括:
基于所述标准检测精度,从所述多个第二位宽值组合中,选取第二检测精度大于或等于所述标准检测精度的第二位宽值组合;
将选取的第二位宽值组合中,最小的第一指数位宽值作为所述网络层中权重的目标指数位宽值。
6.根据权利要求2或3所述的方法,其特征在于,所述第一预设值包括多个预设的指数位宽值中的最大指数位宽值或所述目标神经网络中权重的初始指数位宽值。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述尾数位宽值包括所述目标神经网络中特征图对应的第二尾数位宽值;
基于所述标准检测精度,从所述多个预设的尾数位宽值中选取所述网络层中数据的目标尾数位宽值,包括:
将所述网络层中特征图的指数位宽值设置为第二预设值,并将所述第二预设值依次与多个所述第二尾数位宽值中的每个第二尾数位宽值进行组合,得到多个第三位宽值组合;
针对每个第三位宽值组合,分别确定所述网络层中的特征图以该第三位宽值组合的存储格式进行存储的情况下,所述目标神经网络的第三检测精度;
基于所述标准检测精度和所述第三检测精度,从所述多个第二尾数位宽值中选取所述网络层中特征图的目标尾数位宽值。
8.根据权利要求7所述的方法,其特征在于,确定所述目标神经网络中的特征图以所述第三位宽值组合的存储格式进行存储的情况下,所述目标神经网络的第三检测精度,包括:
确定所述网络层中的特征图以所述第三位宽值组合的存储格式进行存储,以及所述目标神经网络中的所述网络层的权重以权重的目标尾数位宽值和目标指数位宽值的存储格式进行存储的情况下,所述目标神经网络的第三检测精度。
9.根据权利要求7或8所述的方法,其特征在于,所述指数位宽值包括所述目标神经网络中特征图对应的第二指数位宽值;
基于所述标准检测精度,从多个指数位宽值中选取所述网络层中数据的目标指数位宽值,包括:
将所述网络层的特征图的目标尾数位宽值依次与多个所述第二指数位宽值中的每个第二指数位宽值进行组合,得到多个第四位宽值组合;
针对每个第四位宽值组合,分别确定所述网络层中的特征图以该第四位宽值组合的存储格式进行存储的情况下,所述目标神经网络的第四检测精度;
基于所述标准检测精度和所述第四检测精度,从所述多个第二指数位宽值中选取所述网络层中特征图的目标指数位宽值。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述针对所述目标神经网络中至少部分网络层中的每个网络层,基于所述标准检测精度,从所述多个预设的尾数位宽值中选取该网络层中数据的目标尾数位宽值,以及从多个指数位宽值中选取该网络层中数据的目标指数位宽值,包括:
确定所述至少部分网络层中的每个网络层的网络深度;
按照网络深度从低到高的顺序,针对至少部分网络层中的每个网络层,基于所述标准检测精度,从所述多个预设的尾数位宽值中选取该网络层中数据的目标尾数位宽值,以及从多个指数位宽值中选取该网络层中数据的目标指数位宽值。
11.一种数据格式调整装置,其特征在于,包括:
获取模块,用于获取多个预设的尾数位宽值、多个预设的指数位宽值以及目标神经网络的标准检测精度;
选取模块,用于针对所述目标神经网络中至少部分网络层中的每个网络层,基于所述标准检测精度,从所述多个预设的尾数位宽值中选取该网络层中数据的目标尾数位宽值,以及从多个指数位宽值中选取该网络层中数据的目标指数位宽值;
确定模块,用于基于至少部分网络层中的每个网络层中数据的目标尾数位宽值和目标指数位宽值,分别确定每个网络层的数据的存储格式。
12.一种计算机设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述处理器执行如权利要求1至10任意一项所述的数据格式调整方法的步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被计算机设备运行时,所述计算机设备执行如权利要求1至10任意一项所述的数据格式调整方法的步骤。
CN202110220390.3A 2021-02-26 2021-02-26 一种数据格式调整方法、装置、计算机设备和存储介质 Active CN112836806B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110220390.3A CN112836806B (zh) 2021-02-26 2021-02-26 一种数据格式调整方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110220390.3A CN112836806B (zh) 2021-02-26 2021-02-26 一种数据格式调整方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN112836806A true CN112836806A (zh) 2021-05-25
CN112836806B CN112836806B (zh) 2023-12-22

Family

ID=75933935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110220390.3A Active CN112836806B (zh) 2021-02-26 2021-02-26 一种数据格式调整方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN112836806B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113703840A (zh) * 2021-08-31 2021-11-26 上海阵量智能科技有限公司 数据处理装置、方法、芯片、计算机设备及存储介质
WO2024041332A1 (zh) * 2022-08-26 2024-02-29 寒武纪(西安)集成电路有限公司 数据类型选择方法、装置及可读存储介质
WO2024082705A1 (zh) * 2022-10-19 2024-04-25 华为技术有限公司 一种神经网络训练方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106570559A (zh) * 2015-10-09 2017-04-19 阿里巴巴集团控股有限公司 一种基于神经网络的数据处理方法和装置
CN107423816A (zh) * 2017-03-24 2017-12-01 中国科学院计算技术研究所 一种多计算精度神经网络处理方法和系统
CN107451658A (zh) * 2017-07-24 2017-12-08 杭州菲数科技有限公司 浮点运算定点化方法及系统
CN109508784A (zh) * 2018-12-28 2019-03-22 四川那智科技有限公司 一种神经网络激活函数的设计方法
CN109800877A (zh) * 2019-02-20 2019-05-24 腾讯科技(深圳)有限公司 神经网络的参数调整方法、装置及设备
US20190340492A1 (en) * 2018-05-04 2019-11-07 Microsoft Technology Licensing, Llc Design flow for quantized neural networks
CN111831358A (zh) * 2020-07-10 2020-10-27 北京灵汐科技有限公司 权重精度配置方法、装置、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106570559A (zh) * 2015-10-09 2017-04-19 阿里巴巴集团控股有限公司 一种基于神经网络的数据处理方法和装置
CN107423816A (zh) * 2017-03-24 2017-12-01 中国科学院计算技术研究所 一种多计算精度神经网络处理方法和系统
CN107451658A (zh) * 2017-07-24 2017-12-08 杭州菲数科技有限公司 浮点运算定点化方法及系统
US20190340492A1 (en) * 2018-05-04 2019-11-07 Microsoft Technology Licensing, Llc Design flow for quantized neural networks
CN109508784A (zh) * 2018-12-28 2019-03-22 四川那智科技有限公司 一种神经网络激活函数的设计方法
CN109800877A (zh) * 2019-02-20 2019-05-24 腾讯科技(深圳)有限公司 神经网络的参数调整方法、装置及设备
CN111831358A (zh) * 2020-07-10 2020-10-27 北京灵汐科技有限公司 权重精度配置方法、装置、设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113703840A (zh) * 2021-08-31 2021-11-26 上海阵量智能科技有限公司 数据处理装置、方法、芯片、计算机设备及存储介质
WO2024041332A1 (zh) * 2022-08-26 2024-02-29 寒武纪(西安)集成电路有限公司 数据类型选择方法、装置及可读存储介质
WO2024082705A1 (zh) * 2022-10-19 2024-04-25 华为技术有限公司 一种神经网络训练方法及装置

Also Published As

Publication number Publication date
CN112836806B (zh) 2023-12-22

Similar Documents

Publication Publication Date Title
CN112836806A (zh) 一种数据格式调整方法、装置、计算机设备和存储介质
CN108345939A (zh) 基于定点运算的神经网络
US9760339B2 (en) Apparatus and method of processing numeric calculation
CN105139282B (zh) 一种电网指标数据处理方法、装置以及计算设备
CN110826685A (zh) 神经网络卷积计算的方法和装置
CN113222132B (zh) 乘法器、数据处理方法、芯片、计算机设备及存储介质
CN108921810A (zh) 一种颜色迁移方法及计算设备
CN112740233A (zh) 网络量化方法、推理方法以及网络量化装置
CN113919444B (zh) 目标检测网络的训练方法、目标检测方法及装置
CN114818600A (zh) 一种芯片验证方法、装置、电子设备以及存储介质
WO2023272972A1 (zh) 神经网络搜索方法、装置、设备、存储介质及程序产品
CN113962385A (zh) 神经网络训练及数据处理方法和装置、介质及计算机设备
CN113703840A (zh) 数据处理装置、方法、芯片、计算机设备及存储介质
CN111221827B (zh) 基于图形处理器的数据库表连接方法、装置、计算机设备和存储介质
US11630982B1 (en) Constraint-based dynamic quantization adjustment for fixed-point processing
CN111598227A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN111291092A (zh) 一种数据处理方法、装置、服务器及存储介质
CN115984742A (zh) 视频选帧模型的训练方法、视频处理方法及装置
CN113360218A (zh) 一种业务方案选择方法、装置、设备以及存储介质
CN113905066B (zh) 物联网的组网方法、物联网的组网装置及电子设备
CN113327217A (zh) 一种卷积处理方法、装置、计算机设备及存储介质
CN114296682A (zh) 浮点数处理装置、方法、电子设备、存储介质及芯片
CN113792734A (zh) 神经网络训练及图像处理的方法、装置、设备及存储介质
CN113052290A (zh) 神经网络的生成、数据处理方法、装置及电子设备和介质
CN112187388B (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