CN115686835A - 数据存储方法及装置、电子设备、存储介质 - Google Patents
数据存储方法及装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN115686835A CN115686835A CN202211262615.2A CN202211262615A CN115686835A CN 115686835 A CN115686835 A CN 115686835A CN 202211262615 A CN202211262615 A CN 202211262615A CN 115686835 A CN115686835 A CN 115686835A
- Authority
- CN
- China
- Prior art keywords
- storage
- neural network
- module
- lookup table
- electronic device
- 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
- 238000013500 data storage Methods 0.000 title claims abstract description 77
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000013528 artificial neural network Methods 0.000 claims abstract description 175
- 238000012545 processing Methods 0.000 claims abstract description 169
- 230000006870 function Effects 0.000 claims description 78
- 230000004913 activation Effects 0.000 claims description 64
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 14
- 230000009286 beneficial effect Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 101100021996 Arabidopsis thaliana CYP97C1 gene Proteins 0.000 description 8
- 101100510695 Arabidopsis thaliana LUT2 gene Proteins 0.000 description 7
- 239000000872 buffer Substances 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005549 size reduction Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种数据存储方法及装置、电子设备、存储介质,该方法应用于电子设备,该电子设备包括处理模块以及外部存储模块,上述处理模块还包括内部存储子模块,该方法包括:获取神经网络对应的模型数据,上述神经网络是由处理模块执行的神经网络;根据上述内部存储子模块的存储容量,以及模型数据的占用容量,确定该模型数据的存储位置,其中,该存储位置包括上述外部存储模块或内部存储子模块。实施本申请实施例,能够合理配置运行神经网络所需的数据存储位置,从而有利于提升电子设备存储及使用神经网络相关数据的便利性,进而能够提高电子设备的运算处理性能。
Description
技术领域
本申请涉及数据存储技术领域,尤其涉及一种数据存储方法及装置、电子设备、存储介质。
背景技术
当前,电子设备(例如智能手机、平板电脑、智能可穿戴设备等)通常内置有芯片等处理模块,可以通过该处理模块来实现电子设备所需的运算、处理等功能。在利用上述处理模块运行神经网络的情况下,电子设备往往需要生成或存储神经网络的相关数据。然而,在实践中发现,传统的数据存储方式往往难以确保电子设备在合适的存储位置进行数据存储,从而降低了电子设备存储及使用相关数据的便利性,容易导致电子设备的运算处理性能下降。
发明内容
本申请实施例公开了一种数据存储方法及装置、电子设备、存储介质,能够合理配置运行神经网络所需的数据存储位置,从而有利于提升电子设备存储及使用神经网络相关数据的便利性,进而能够提高电子设备的运算处理性能。
本申请实施例第一方面公开一种数据存储方法,应用于电子设备,所述电子设备包括处理模块以及外部存储模块,所述处理模块还包括内部存储子模块,所述方法包括:
获取神经网络对应的模型数据,所述神经网络是由所述处理模块执行的神经网络;
根据所述内部存储子模块的存储容量,以及所述模型数据的占用容量,确定所述模型数据的存储位置,其中,所述存储位置包括所述外部存储模块或所述内部存储子模块。
本申请实施例第二方面公开一种数据存储装置,应用于电子设备,所述电子设备包括处理模块以及外部存储模块,所述处理模块还包括内部存储子模块,所述存储装置包括:
获取单元,用于获取神经网络对应的模型数据的占用容量,所述神经网络是由所述处理模块执行的神经网络;
存储位置确定单元,用于根据所述内部存储子模块的存储容量,以及所述模型数据的占用容量,确定所述模型数据的存储位置,其中,所述存储位置包括所述外部存储模块或所述内部存储子模块。
本申请实施例第三方面公开了一种电子设备,包括存储器及处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器实现如本申请实施例第一方面公开的任意一种数据存储方法中的全部或部分步骤。
本申请实施例第四方面公开了一种计算机可读存储介质,其存储计算机程序,其中,所述计算机程序被处理器执行时实现如本申请实施例第一方面公开的任意一种数据存储方法中的全部或部分步骤。
与相关技术相比,本申请实施例具有以下有益效果:
在本申请实施例中,应用数据存储方法的电子设备可以包括处理模块以及外部存储模块,该处理模块还可以包括内部存储子模块。该电子设备可以获取神经网络对应的模型数据的占用容量,上述神经网络可以是由处理模块执行的神经网络。在此基础上,电子设备可以根据上述内部存储子模块的存储容量,以及模型数据的占用容量,确定该模型数据的存储位置,其中,该存储位置可以包括上述外部存储模块或内部存储子模块。可见,实施本申请实施例,电子设备能够通过判断其处理模块内是否具有足够的存储空间来存储神经网络对应的模型数据,以用于确定应当存储上述模型数据的存储地址(例如存储于处理模块中的内部存储子模块,或外部存储模块等)。这样的数据存储方式,能够基于电子设备中不同存储模块的存储容量大小,合理配置数据存储位置,尤其是在运行神经网络时相关数据的存储位置,从而能够在确保存储容量足够的前提下,尽可能提升处理模块的数据读取效率,以提升电子设备存储及使用神经网络相关数据的便利性,进而有利于提高电子设备的运算处理性能。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图进行简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请实施例公开的一种数据存储方法的应用场景示意图;
图2是本申请实施例公开的一种电子设备的模块化示意图;
图3是本申请实施例公开的一种数据存储方法的流程示意图;
图4是本申请实施例公开的另一种数据存储方法的流程示意图;
图5A是本申请实施例公开的电子设备进行数据存储的一种示意图;
图5B是本申请实施例公开的电子设备进行数据存储的另一种示意图;
图5C是本申请实施例公开的电子设备进行数据存储的又一种示意图;
图6是本申请实施例公开的又一种数据存储方法的流程示意图;
图7是本申请实施例公开的一种数据存储装置的模块化示意图;
图8是本申请实施例公开的另一种电子设备的模块化示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例的术语“包括”和“具有”及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例公开了一种数据存储方法及装置、电子设备、存储介质,能够合理配置运行神经网络所需的数据存储位置,从而有利于提升电子设备存储及使用神经网络相关数据的便利性,进而能够提高电子设备的运算处理性能。
以下将结合附图进行详细描述。
请参阅图1,图1是本申请实施例公开的一种数据存储方法的应用场景示意图,可以包括电子设备100,该电子设备100可以包括处理模块110。其中,电子设备100可以通过其处理模块110实现各种类型的运算、处理、控制等设备功能。需要说明的是,该电子设备100还可以包括其他必要的功能模块,例如数据存储模块、供电模块等(图1中未具体示出),以用于实现相应的数据存储、供电等功能,从而可以配合处理模块110实现该电子设备100所需的上述各项设备功能。
示例性地,上述电子设备100可以包括内置处理模块110的各类终端设备或***,例如智能手机、智能可穿戴设备(包括智能手表、智能手环等)、车载终端、平板电脑、PC(Personal Computer,个人电脑)、PDA(Personal Digital Assistant,个人数字助理)、电视等,本申请实施例中不作具体限定。需要说明的是,图1中所示的电子设备100为手机,这仅仅是一种示例,不应视为对本申请实施例中电子设备100的设备类型的限制。
请一并参阅图2,图2是本申请实施例公开的一种电子设备的模块化示意图。如图2所示,电子设备100除了包括处理模块110外,还可以包括外部存储模块120。其中,处理模块110中还可以包括内部存储子模块111。
示例性地,上述外部存储模块120(即外存储器,External Memory),可以包括外置于处理模块110的各类存储部件,例如外置的只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable Read-only Memory,PROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)等;也可以包括与处理模块110集成于同一器件上,并用于进行数据存储的功能模块。上述内部存储子模块111(即内存储器,Internal Memory),则可以包括内置于处理模块110的各类存储器件或功能模块,例如内置的随机存储器(Random Access Memory,RAM)等。可以理解,上述外部存储模块120以及内部存储子模块111可以采用相同的存储技术,也可以采用不同的存储技术,以满足不同的数据存储(或数据读写)需求。
其中,该外部存储模块120以及内部存储子模块111,均可用于对处理模块110在运行过程中所涉及的数据(例如待输入该处理模块110的数据,该处理模块110输出的数据等)进行存储,从而处理模块110可以通过相应的读写操作,从该外部存储模块120或内部存储子模块111中获取待处理的数据,以及向该外部存储模块120或内部存储子模块111输出处理完成后的数据。示例性地,处理模块110可以直接对内部存储子模块111进行数据读写,也可以利用该内部存储子模块111作为媒介,对外部存储模块120进行相应的数据读写。
示例性地,上述处理模块110可以包括中央处理器(Central Processing Unit,CPU),也可以包括专用处理器(即专用集成电路,Application Specific IntegratedCircuit,ASIC),例如专用于执行神经网络的神经网络处理器(Neural-networkProcessing Unit,NPU)等,还可以包括其他类型的处理模块。其中,该处理模块110可以包括一个或多个核心处理单元,各个核心处理单元可以单独工作,也可以协同工作以进一步提升处理性能。
具体地,以神经网络处理器NPU为例,该处理模块110可以包括一个或多个神经网络计算单元112,该神经网络计算单元112可以包括必要的运算处理电路、缓冲(Buffer)等(未具体图示)。在一些实施例中,上述处理模块110可以包括多个神经网络计算单元112,则每个神经网络计算单元112可以分别对应于内部存储子模块111中的各个内部存储单元,以用于执行各种类型的神经网络,使得电子设备100可以实现基于神经网络的图像处理、音频处理等各种处理功能。
为了对电子设备100在通过其处理模块110执行神经网络时的相关数据(例如该神经网络对应的模型数据,包括模型配置数据、运算缓存数据、非线性激活函数的查找表等)进行存储,需要对该电子设备100中不同的存储模块进行分配,以将上述相关数据存储至合适的存储位置。在相关技术中,通常可以将上述相关数据存储于电子设备100的外部存储模块120,并在处理模块110执行神经网络时,从外部存储模块120中获取相关数据(例如利用内部存储子模块111作为媒介,从外部存储模块120中读取相关数据至该内部存储子模块111,再从该内部存储子模块111中读取所需的相关数据至处理模块110);或者,不在电子设备100本地存储上述相关数据,而是在其处理模块110执行神经网络时,基于预先设定的程序实时生成或获取所需的相关数据,以用于执行神经网络中相应的运算操作。这样的数据存储方式,使得电子设备100需要花费较多时间来调用相关数据,降低了其存储及使用相关数据的便利性,也降低了其处理模块110执行神经网络的效率,从而导致该电子设备100的运算处理性能下降。
为了解决上述问题,并进一步优化电子设备100中包含上述处理模块110的芯片的PPA指标,即尽可能在提升性能(Performance)、降低功耗(Power)以及减小尺寸(Area)上取得最优的平衡,在本申请实施例中,可以基于电子设备100中各个存储模块(包括上述外部存储模块120以及内部存储子模块111等)的存储容量,以及需要由处理模块110执行的神经网络相关数据的占用容量,对该电子设备100进行数据存储的存储位置进行合理分配。
示例性地,在本申请实施例中,电子设备100可以获取神经网络对应的模型数据。其中,该神经网络即为由上述处理模块110执行的神经网络,该神经网络对应的模型数据,可以包括基于相应的神经网络模型,在实际运行、计算过程中所涉及的各类数据,例如模型配置数据、运算缓存数据、非线性激活函数的查找表等。在此基础上,电子设备100可以根据上述内部存储子模块111的存储容量,以及模型数据的占用容量,确定该模型数据的存储位置。其中,该存储位置可以包括上述外部存储模块120或内部存储子模块111。
可见,实施本申请实施例,电子设备100能够通过判断其处理模块110内是否具有足够的存储空间来存储神经网络对应的模型数据,以用于具体确定应当存储上述模型数据的存储地址,从而能够基于电子设备100中不同存储模块的存储容量大小合理配置数据存储位置,尤其是在执行神经网络时相关数据的存储位置,有利于在确保存储容量足够的前提下,尽可能提升处理模块110的数据读取效率,以提升电子设备100存储及使用神经网络相关数据的便利性,进而有利于提高电子设备100的运算处理性能。
请参阅图3,图3是本申请实施例公开的一种数据存储方法的流程示意图,该数据存储方法可以应用于上述的电子设备,该电子设备可以包括处理模块以及外部存储模块,上述处理模块还可以包括内部存储子模块。如图3所示,该数据存储方法可以包括以下步骤:
302、获取神经网络对应的模型数据,上述神经网络是由处理模块执行的神经网络。
在本申请实施例中,电子设备可以通过其内置的处理模块执行预先经过训练的神经网络模型,以实现基于神经网络的图像处理、音频处理等各种功能。示例性地,在处理模块执行神经网络的过程中,为了对所涉及的模型数据进行存储,电子设备可以根据上述模型数据具体的占用容量,在该电子设备本地选择合适的数据存储位置,即,将其存储于该电子设备的外部存储模块或内部存储子模块中。需要说明的是,相较于在执行神经网络时实时生成模型数据,或者实时从电子设备外部获取模型数据的方式,在电子设备本地进行数据存储更为便利,有利于提升电子设备调用模型数据以执行神经网络的效率。
在一些实施例中,上述模型数据可以包括神经网络所使用的、可预先确定其具体占用容量的数据,例如模型配置数据、查找表等。
示例性地,神经网络对应的模型配置数据,可以包括用于配置该神经网络的部分参数(Parameter)或超参数(Hyperparameter),例如权重系数、回归系数,或者网络参数、优化参数、正则化参数等。具体举例来说,上述网络参数可以包括网络层数,例如可以包括神经网络中的隐藏层(Hidden layer)层数。可选地,在卷积神经网络(Convolutional NeuralNetworks,CNN)中,上述网络层数具体可以包括卷积层(Convolution layer)、池化层(Pooling layer)、全连接层(Fully-connected layer)等的层数,以用于配置神经网络,执行相应的神经网络功能。
又示例性地,上述神经网络对应的查找表,可以包括该神经网络在运行过程中所需运算的非线性激活函数对应的查找表,处理模块可以基于该查找表,针对指定输入,确定相应的非线性激活函数的输出值。其中,神经网络中的每个“神经元”均可对应于相应的激活函数,而通过非线性的激活函数,可以使得该神经网络逼近相当复杂的函数,优化输出结果;同时,由于非线性激活函数通常运算复杂且运算量较大,根据输入作为索引以利用查找表确定相应输出值的方式具有更高的效率。从而,电子设备可以预先对神经网络所需执行的非线性激活函数的查找表进行存储,以在后续实际运行的过程中读取并调用。
在此基础上,电子设备可以在实际执行神经网络之前,获取该神经网络对应的模型数据,并确定该模型数据的占用容量,同时还可以获取该电子设备的内部存储子模块的存储容量(例如通过查询该内部存储子模块的配置信息、通过检测该内部存储子模块的存储状态等方式获取),进而可以在后续步骤中对上述占用容量以及存储容量进行比较,以确定处理模块内(即内部存储子模块)是否具有足够的存储空间来存储上述模型数据,从而可以进一步确定出合适的数据存储位置。
在另一些实施例中,上述模型数据也可以包括神经网络所使用的、难以预先确定其具体占用容量的数据,例如根据该神经网络的输入数据所确定的部分参数(例如权重系数、回归系数等)、运算缓存数据等。
示例性地,电子设备在实际执行神经网络时,可以获取待输入该神经网络的输入数据,进而可以根据该输入数据,确定出相应需存储的模型数据,并进一步确定该模型数据的占用容量。在此基础上,电子设备获取了上述占用容量,以及该电子设备的内部存储子模块的存储容量之后,可以在后续步骤中对上述占用容量以及存储容量进行比较,以确定应当将上述模型数据存储于该电子设备的内部存储子模块还是外部存储模块。
304、根据上述内部存储子模块的存储容量,以及模型数据的占用容量,确定该模型数据的存储位置,其中,该存储位置包括上述外部存储模块或内部存储子模块。
在本申请实施例中,电子设备可以通过对比其内部存储子模块的存储容量,以及由处理模块执行的神经网络对应的模型数据的占用容量,确定该模型数据是否能够存储于上述内部存储子模块中。示例性地,若上述占用容量小于或等于存储容量,则表示电子设备可以将该模型数据全部存储于内部存储子模块,从而可以将该内部存储子模块确定为上述模型数据的存储位置;若上述占用容量大于存储容量,则表示电子设备无法将该模型数据全部存储于内部存储子模块,从而可以将其外部存储模块确定为上述模型数据的存储位置。
需要说明的是,由于电子设备的处理模块从其内部存储子模块读取模型数据的速度,通常高于其从外部存储模块获取模型数据的速度,因此电子设备在能够将该模型数据全部存储于内部存储子模块的情况下,可以优先将其存储于内部存储子模块中,以尽可能提升处理模块的数据读取效率,进而提高电子设备的运算处理性能。
在一些实施例中,电子设备的处理模块可以包括至少一个神经网络计算单元,每个神经网络计算单元可以单独工作,多个神经网络计算单元也可以协同工作。在该处理模块包括多个神经网络计算单元的情况下,可以根据上述神经网络计算单元的数量,将该处理模块中的内部存储子模块划分为相同数量的多个内部存储单元,各个内部存储单元可以分别与各个神经网络计算单元对应。在此基础上,电子设备可以将内部存储子模块的存储容量(即各个内部存储单元的存储容量之和)与上述模型数据的占用容量进行比较,以确定该内部存储子模块是否具有足够的存储空间来存储上述模型数据。
可选地,电子设备还可以进一步将各个内部存储单元的存储容量与上述占用容量进行比较,以确定各个内部存储单元是否分别具有足够的存储空间来存储上述模型数据。在一些实施例中,上述各个内部存储单元的存储容量可以相同,则电子设备可以直接将该存储容量与上述占用容量进行比较;在另一些实施例中,上述各个内部存储单元的存储容量也可以不相同,则电子设备可以将其中最小的存储容量与上述占用容量进行比较。在此基础上,若各个内部存储单元的存储容量均大于或等于上述占用容量,则表示各个内部存储单元均具有足够的存储空间存储全部的模型数据,从而电子设备可以将全部模型数据分别存储至每个内部存储单元,以供每个神经网络计算单元直接从相应的内部存储单元中读取并调用。这样的数据存储方法,有利于进一步提升电子设备存储及使用神经网络相关数据的便利性,从而能够进一步提高电子设备的运算处理性能。
可见,实施上述实施例所描述的数据存储方法,电子设备能够通过判断其处理模块内是否具有足够的存储空间来存储神经网络对应的模型数据,以用于具体确定应当存储上述模型数据的存储地址,从而能够基于电子设备中不同存储模块的存储容量大小合理配置数据存储位置,尤其是在执行神经网络时相关数据的存储位置,有利于在确保存储容量足够的前提下,尽可能提升处理模块的数据读取效率,以提升电子设备存储及使用神经网络相关数据的便利性,进而有利于提高电子设备的运算处理性能。
请参阅图4,图4是本申请实施例公开的另一种数据存储方法的流程示意图,该数据存储方法可以应用于上述的电子设备,该电子设备可以包括处理模块以及外部存储模块,上述处理模块还可以包括内部存储子模块。其中,处理模块可以包括至少一个神经网络计算单元,则上述内部存储子模块可以包括与各个神经网络计算单元分别对应的各个内部存储单元。如图4所示,该数据存储方法可以包括以下步骤:
402、获取神经网络对应的非线性激活函数的查找表,上述神经网络是由处理模块执行的神经网络,该神经网络通过查找表获取非线性激活函数的输出值。
其中,步骤402与上述步骤302类似。需要说明的是,在本申请实施例中,上述神经网络对应的模型数据可以包括该神经网络对应的非线性激活函数的相关数据,尤其可以包括非线性激活函数的查找表(Look Up Table,LUT)等。电子设备的处理模块在执行神经网络的情况下,其每个“神经元”(即每个隐藏层节点及其输入和输出所构成的神经元模型)均可对应于相应的激活函数,通过非线性激活函数可以随意逼近该神经网络所需实现的复杂函数。在此基础上,可以预先确定针对上述非线性激活函数的若干个指定输入以及相应的函数输出值,将上述指定输入和相应的输出值匹配生成查找表后,电子设备可以对该查找表进行存储,以供处理模块在实际执行神经网络时快速调用,从而有利于提升电子设备获取上述非线性激活函数的输出值的效率。
可选地,生成上述查找表的过程可以在电子设备的处理模块中进行,也可以在电子设备外预先完成,并将所生成的查找表传输至该电子设备进行存储,本申请实施例中不作具体限定。
在本申请实施例中,由于电子设备在通过其处理模块执行神经网络的过程中将执行大量涉及上述非线性激活函数的运算,因此可以将上述查找表尽可能存储于处理模块可快速调用的存储位置,以提升电子设备存储及使用查找表的便利性。示例性地,电子设备可以获取其内部存储子模块的存储容量以及上述查找表的占用容量,进而可以在后续步骤中对该存储容量以及占用容量进行比较,以确定内部存储子模块是否具有足够的存储空间来存储该查找表。从而,在内部存储子模块具有足够存储空间的情况下,电子设备可以尽可能将上述查找表存储于其处理模块中(即存储于内部存储子模块中);否则,电子设备可以将上述查找表存储于其处理模块之外的外部存储模块中。
404、在上述内部存储子模块的存储容量大于或等于查找表的占用容量的情况下,确定查找表的存储位置为内部存储子模块。
在本申请实施例中,电子设备可以对上述内部存储子模块的存储容量以及查找表的占用容量进行比较,在上述存储容量大于或等于占用容量的情况下,可以将该内部存储子模块确定为上述查找表对应的存储位置,即,电子设备可以将上述查找表全部存储于其内部存储子模块中,以使处理模块在实际执行神经网络时,可以根据其所执行的非线性激活函数,直接从内部存储子模块读取所需的相应查找表。
示例性地,请参阅图5A,图5A是本申请实施例公开的电子设备进行数据存储的一种示意图。如图5A所示,电子设备100中的处理模块110可以包括内部存储子模块111,以及至少一个神经网络计算单元112。其中,内部存储子模块111可以包括与神经网络计算单元112对应的内部存储单元,即,电子设备100可以针对其处理模块110中所包含的神经网络计算单元112的数量,将内部存储子模块111分配为相同数量的多个内部存储单元。示例性地,为了实现硬件加速,上述处理模块110可以包括多个神经网络计算单元112,即采用多“核”(Neural Networks core,NN core)的设计架构,则内部存储子模块111同样可以包括多个内部存储单元,且各个内部存储单元分别与上述各个神经网络计算单元112一一对应。
在一些实施例中,以上述处理模块110包括N(N为正整数)个神经网络计算单元112为例,则其内部存储子模块111可以包括相对应的N个内部存储单元。如图5A所示,在每个内部存储单元的存储容量均大于或等于上述查找表的占用容量的情况下,电子设备100可以将上述查找表(包括LUT1、LUT2…LUTn,n为正整数)分别存储至每个内部存储单元,以使每个内部存储单元均可用于查询及读取上述的任一查找表。从而,在处理模块110实际执行神经网络的情况下,各个神经网络计算单元112均可分别从其对应的内部存储单元中,将该神经网络计算单元112执行非线性激活函数所需的查找表读取至该神经网络计算单元112的查找表缓冲(LUT Buffer)中,以基于该查找表确定出非线性激活函数的相应输出值。
在另一些实施例中,若内部存储子模块111中存在一个或多个内部存储单元,其存储容量小于上述查找表的占用容量,且该内部存储子模块111的存储容量(即各个内部存储单元的存储容量之和)仍大于或等于该占用容量,则电子设备100虽无法将全部查找表(包括LUT1、LUT2…LUTn,n为正整数)分别存储至每个内部存储单元,但可以将其在各个内部存储单元中分配存储,以使上述的全部查找表仍存储于内部存储子模块111中。
示例性地,若存在任一个内部存储单元的存储容量小于上述查找表的占用容量,则电子设备100可以将上述的全部查找表分配为N份子表,其中,N即为上述处理模块110中所包含的神经网络计算单元112的数量。在此基础上,电子设备100可以将上述N份子表分别存储至N个内部存储单元,即,每一份子表可以存储至每一个内部存储单元中。
可选地,上述N份子表各自所包含的查找表的具体数量可以相同,也可以不相同。示例性地,请参阅图5B,图5B是本申请实施例公开的电子设备进行数据存储的另一种示意图。如图5B所示,每个内部存储单元中所存储的子表具体可以包含4个不同的查找表(例如LUT1~LUT4,LUT5~LUT8,…,LUTn-3~LUTn等),各份子表共同组成神经网络对应的非线性激活函数的全部查找表。可以理解,在其他实施例中,各份子表也可以包含其他数量的不同查找表,本申请实施例中不作具体限定。
从而,如图5B所示,在处理模块110实际执行神经网络的情况下,各个神经网络计算单元112均可分别从指定的内部存储单元中,将该神经网络计算单元112执行非线性激活函数所需的查找表读取至该神经网络计算单元112的查找表缓冲中,以基于该查找表确定出非线性激活函数的相应输出值。示例性地,若神经网络计算单元112在执行非线性激活函数时所需查询的查找表为LUT2,则该神经网络计算单元112可以从包含查找表LUT2的内部存储单元中,将上述查找表LUT2读取至其查找表缓冲;又示例性地,若神经网络计算单元112所需查询的查找表为LUT7,则该神经网络计算单元112可以从包含查找表LUT7的内部存储单元中,将上述查找表LUT7读取至其查找表缓冲。
406、在上述内部存储子模块的存储容量小于查找表的占用容量的情况下,确定查找表对应的存储位置为外部存储模块。
在本申请实施例中,电子设备通过对上述内部存储子模块的存储容量以及查找表的占用容量进行比较,在上述存储容量小于占用容量的情况下,可以确认该电子设备的内部存储子模块无法存储上述的全部查找表(包括LUT1、LUT2…LUTn,n为正整数),从而可以将该电子设备的外部存储模块确定为上述查找表对应的存储位置,即,电子设备可以将上述查找表全部存储于其外部存储模块中。在此基础上,当处理模块在实际执行神经网络时,电子设备可以根据其所执行的非线性激活函数,将所需的相应查找表从外部存储模块读取至处理模块中的内部存储子模块,再由处理模块从该内部存储子模块中读取上述查找表。
示例性地,请参阅图5C,图5C是本申请实施例公开的电子设备进行数据存储的又一种示意图。如图5C所示,电子设备100中还可以包括外部存储模块120,神经网络对应的非线性激活函数的查找表可以全部存储于该外部存储模块120中。需要说明的是,由于外部存储模块120可以对上述的全部查找表进行连续存储(即按照连续地址进行存储),当电子设备100中的处理模块110执行指定的非线性激活函数时,需要逐个查询以确定出实际所需的查找表。
在一些实施例中,当电子设备100需要从外部存储模块120所存储的全部查找表中,确定神经网络计算单元112当前执行的非线性激活函数所需的查找表时,可以利用该神经网络计算单元112对应的内部存储单元中的多个存储空间,实现流水线式的查询。具体地,如图5C所示,上述每个内部存储单元均可包含两个不同的存储空间LUT1及LUT2,则电子设备100可以从外部存储模块120中,将待查询的查找表轮流写入存储空间LUT1及LUT2,并由相应的神经网络计算单元112轮流读取LUT1及LUT2中的查找表(即执行“乒乓操作”),直至该神经网络计算单元112确认查询到所需的查找表为止。在其他实施例中,上述每个内部存储单元也可以包含两个以上的不同存储空间,以用于实现更多阶的流水线式查询,本申请实施例中不作具体限定。
作为一种可选的实施方式,电子设备在根据其内部存储子模块的存储容量以及模型数据(包括上述非线性激活函数的查找表,以及模型配置数据、运算缓存数据等其他模型数据)的占用容量,确定出应当存储该模型数据的存储位置之后,可以进一步检测该存储位置对应的可用存储空间,以确认该存储位置的实际可用空间是否足以用于对上述模型数据进行存储。
示例性地,电子设备可以根据上述模型数据的占用容量以及数据类型,对所确定出的存储位置对应的可用存储空间进行校验。其中,上述模型数据的数据类型,可以包括该模型数据的数据格式(例如整型、布尔型、单精度浮点型、双精度浮点型等)以及存储规格(例如大小端存储要求、编码压缩规则)等。在此基础上,电子设备可以判断上述可用存储空间是否符合预先设定的校验条件,并在符合校验条件的情况下,确认上述存储位置为存储模型数据的存储位置。
在一些实施例中,电子设备可以校验该存储位置对应的可用存储空间的实际存储容量,在该实际存储容量大于或等于上述占用容量的情况下,可以确认该可用存储空间符合校验条件。在另一些实施例中,电子设备还可以获取上述模型数据的数据格式以及存储规格,并根据该数据格式以及存储规格,估算该模型数据对应的实际占用容量,进而可以在该实际占用容量小于或等于上述可用存储空间的实际存储容量的情况下,确认该可用存储空间符合校验条件。通过进行上述存储校验,能够确保电子设备在通过其处理模块实际执行神经网络的过程中,其所确定出的数据存储位置能够可靠地对神经网络对应的模型数据进行存储,从而有利于提升电子设备实现运算处理功能的稳定性,更安全地提高电子设备的运算处理性能。
可见,实施上述实施例所描述的数据存储方法,电子设备能够基于其不同存储模块的存储容量大小合理配置数据存储位置,尤其是在执行神经网络时相关数据的存储位置,从而能够在确保存储容量足够的前提下,尽可能提升处理模块的数据读取效率,以提升电子设备存储及使用神经网络相关数据的便利性,进而有利于提高电子设备的运算处理性能。此外,通过对神经网络对应的非线性激活函数的查找表进行上述存储,有利于处理模块尽可能快速地获取其所需的查找表数据,从而能够提升处理模块执行神经网络的效率,进一步提高电子设备的运算处理性能。
请参阅图6,图6是本申请实施例公开的又一种数据存储方法的流程示意图,该数据存储方法可以应用于上述的电子设备,该电子设备可以包括处理模块以及外部存储模块,上述处理模块还可以包括内部存储子模块,该内部存储子模块可以包括第一存储空间和第二存储空间。需要说明的是,在上述处理模块包括至少一个神经网络计算单元的情况下,上述内部存储子模块可以包括与各个神经网络计算单元分别对应的各个内部存储单元,则每个内部存储单元均可包括上述的第一存储空间和第二存储空间。如图6所示,该数据存储方法可以包括以下步骤:
602、获取神经网络对应的非线性激活函数的查找表,上述神经网络是由处理模块执行的神经网络,该神经网络通过查找表获取非线性激活函数的输出值。
其中,步骤602与上述步骤402类似,此处不再赘述。
604、在上述内部存储子模块的存储容量小于查找表的占用容量的情况下,确定查找表对应的存储位置为外部存储模块。
其中,步骤604与上述步骤406类似,此处不再赘述。
606、在处理模块执行非线性激活函数的情况下,若处理模块中的神经网络计算单元访问第一存储空间,则从外部存储模块中,将与上述非线性激活函数对应的查找表中的第一查找表读取至第一存储空间,以及,将上述查找表中的第二查找表读取至第二存储空间,其中,第二查找表在外部存储模块中的存储位置位于第一查找表在外部存储模块中的存储位置之后。
在本申请实施例中,电子设备在通过其处理模块执行神经网络的情况下,可以具体执行该神经网络对应的各个非线性激活函数相关的运算处理。示例性地,在处理模块执行某一非线性激活函数时,该处理模块可以通过查表的方式,根据输入作为索引,获取该非线性激活函数的相应输出值。其中,若该非线性激活函数对应的查找表存储于外部存储模块,则电子设备可以先将该查找表从外部存储模块读取至内部存储子模块,再由处理模块从内部存储子模块中读取该查找表,以用于进行上述的查表操作。
需要说明的是,由于外部存储模块可以存储神经网络对应的非线性激活函数的全部查找表,为了具体确定出处理模块当前所执行的非线性激活函数对应的查找表,可以对上述的全部或部分查找表进行有序查询。示例性地,电子设备可以利用其内部存储子模块中的多个存储空间,从外部存储模块中轮流读取待查询的查找表,以供处理模块中的神经网络计算单元实现流水线式的查询。可选地,在上述处理模块包括至少一个神经网络计算单元的情况下,上述内部存储子模块可以包括与各个神经网络计算单元分别对应的各个内部存储单元,则每个内部存储单元均可包括上述的多个存储空间,可分别配合对应的各个神经网络计算单元,各自独立地实现上述的流水线式查询。
示例性地,以内部存储子模块(或者该内部存储子模块中的任一内部存储单元)包括第一存储空间(可记作LUT1)和第二存储空间(可记作LUT2)两个不同的存储空间为例,处理模块中的神经网络计算单元在访问第一存储空间LUT1时,电子设备可以从外部存储模块中,将第一查找表读取至该第一存储空间,以及,将第二查找表读取至第二存储空间LUT2。其中,非线性激活函数对应的查找表,可以包括上述的第一查找表和第二查找表。在此基础上,电子设备可以在后续步骤中,将其他待查询的查找表轮流写入存储空间LUT1及LUT2,以启动查询流水操作(即执行“乒乓操作”)。
608、在上述神经网络计算单元访问第二存储空间的情况下,从外部存储模块中,将上述查找表中的第三查找表读取至第一存储空间,直至该神经网络计算单元访问到非线性激活函数对应的上述查找表中的所有查找表为止。
在本申请实施例中,处理模块中的神经网络计算单元在访问第一存储空间LUT1,以获取上述第一查找表后,可以基于该第一查找表对执行非线性激活函数的运算处理结果进行查询,即,针对该非线性激活函数的输入,查询相应的函数输出值。
在此基础上,若未能查询到相应的函数输出值,则神经网络计算单元可以继续访问第二存储空间LUT2,以获取上述第二查找表;在此过程中,电子设备可以从外部存储模块中,将第三查找表读取至第一存储空间LUT1,以替换上述第一查找表,作为待查询的新查找表。其中,该第三查找表也属于上述非线性激活函数对应的查找表。
进一步地,若基于该第二查找表未能查询到相应的函数输出值,则神经网络计算单元可以继续访问第一存储空间LUT1,以获取上述第三查找表,此时电子设备可以继续从外部存储模块中将待查询的新查找表写入第二存储空间LUT2,以替换上述第二查找表……通过反复执行上述的“乒乓操作”,电子设备可以快速查询到执行非线性激活函数所需的查找表,直至该神经网络计算单元访问到非线性激活函数对应的所有查找表为止。
通过实施本申请实施例中的数据存储方法对非线性激活函数的查找表进行存储,配合查询读取时所采用的“乒乓操作”,能够高效地实现对查找表的查询,有利于提升电子设备通过其处理模块执行神经网络的效率。
可见,实施上述实施例所描述的数据存储方法,电子设备能够基于其不同存储模块的存储容量大小合理配置数据存储位置,尤其是在执行神经网络时相关数据的存储位置,从而能够在确保存储容量足够的前提下,尽可能提升处理模块的数据读取效率,以提升电子设备存储及使用神经网络相关数据的便利性,进而有利于提高电子设备的运算处理性能。此外,在电子设备将神经网络相关数据,尤其是将非线性激活函数的查找表存储于外部存储模块的情况下,通过乒乓操作能够高效地实现对查找表的查询,有利于提升电子设备通过其处理模块执行神经网络的效率,同时在该处理模块的芯片PPA指标上尽可能取得最优平衡,从而能够有效提高电子设备的运算处理性能。
以上对本申请实施例中的方法进行了详细说明,下面结合附图对本申请实施例中的装置进行介绍。
请参阅图7,图7是本申请实施例公开的一种数据存储装置的模块化示意图,该数据存储装置可以是前述图1~图6中所涉及的电子设备,也可以是应用于上述电子设备中的装置,在此不作限制。在一些实施例中,该数据存储装置也可以是芯片或者芯片***,例如:片上***(system on chip,SoC)等。
其中,若该数据存储装置应用于上述的电子设备,则该电子设备可以包括处理模块以及外部存储模块,该处理模块还可以包括内部存储子模块。如图7所示,该数据存储装置可以包括获取单元701以及存储位置确定单元702,其中:
获取单元701,用于获取神经网络对应的模型数据,上述神经网络是由处理模块执行的神经网络;
存储位置确定单元702,用于根据上述内部存储子模块的存储容量,以及模型数据的占用容量,确定该模型数据的存储位置,其中,该存储位置包括上述外部存储模块或内部存储子模块。
可见,采用上述实施例所描述的数据存储装置,电子设备能够通过判断其处理模块内是否具有足够的存储空间来存储神经网络对应的模型数据,以用于具体确定应当存储上述模型数据的存储地址,从而能够基于电子设备中不同存储模块的存储容量大小合理配置数据存储位置,尤其是在执行神经网络时相关数据的存储位置,有利于在确保存储容量足够的前提下,尽可能提升处理模块的数据读取效率,以提升电子设备存储及使用神经网络相关数据的便利性,进而有利于提高电子设备的运算处理性能。
示例性地,上述模型数据可以包括神经网络对应的非线性激活函数的查找表,该神经网络可以通过该查找表获取非线性激活函数的输出值。
在一种实施例中,上述处理模块可以包括至少一个神经网络计算单元,上述内部存储子模块可以包括与各个神经网络计算单元分别对应的各个内部存储单元,则上述存储位置确定单元702,具体可以用于:
在上述内部存储子模块的存储容量大于或等于查找表的占用容量的情况下,确定该查找表的存储位置为内部存储子模块。
在一些实施例中,上述存储位置确定单元702,具体可以用于:
在每个内部存储单元的存储容量均大于或等于查找表的占用容量的情况下,将上述查找表分别存储至每个内部存储单元。
在另一些实施例中,上述存储位置确定单元702,具体可以用于:
在任一个内部存储单元的存储容量小于查找表的占用容量的情况下,将全部查找表分配为N份子表,其中,N为上述处理模块包含的神经网络计算单元的数量;
将N份子表分别存储至N个内部存储单元,其中,每一份子表存储至每一个内部存储单元。
在一种实施例中,上述存储位置确定单元702,具体还可以用于:
在上述内部存储子模块的存储容量小于查找表的占用容量的情况下,确定该查找表对应的存储位置为外部存储模块。
在此基础上,该数据存储装置还可以包括未图示的数据读取单元,其中:
数据读取单元,用于在上述处理模块执行非线性激活函数的情况下,将与该非线性激活函数对应的查找表从外部存储模块读取至内部存储子模块。
在一种实施例中,上述内部存储子模块可以包括第一存储空间和第二存储空间,则上述数据读取单元,具体可以用于:
在上述处理模块中的神经网络计算单元访问第一存储空间的情况下,从外部存储模块中,将与上述非线性激活函数对应的查找表中的第一查找表读取至第一存储空间,以及,将上述查找表中的第二查找表读取至第二存储空间,其中,第二查找表在外部存储模块中的存储位置位于第一查找表在外部存储模块中的存储位置之后;
在神经网络计算单元访问第二存储空间的情况下,从外部存储模块中,将上述查找表中的第三查找表读取至第一存储空间,直至神经网络计算单元访问到非线性激活函数对应的上述查找表中的所有查找表为止。
在一种实施例中,该数据存储装置还可以包括未图示的检测单元以及确认单元,其中:
检测单元,用于在上述存储位置确定单元702根据上述内部存储子模块的存储容量,以及模型数据的占用容量,确定该模型数据的存储位置之后,检测该存储位置对应的可用存储空间;
确认单元,用于根据上述模型数据的占用容量以及数据类型,对该可用存储空间进行校验,并在该可用存储空间符合校验条件的情况下,确认上述存储位置为模型数据的存储位置。
可见,采用上述实施例所描述的数据存储装置,电子设备能够基于其不同存储模块的存储容量大小合理配置数据存储位置,尤其是在执行神经网络时相关数据的存储位置,从而能够在确保存储容量足够的前提下,尽可能提升处理模块的数据读取效率,以提升电子设备存储及使用神经网络相关数据的便利性,进而有利于提高电子设备的运算处理性能。此外,通过对神经网络对应的非线性激活函数的查找表进行上述存储,有利于处理模块尽可能快速地获取其所需的查找表数据,从而能够提升处理模块执行神经网络的效率,进一步提高电子设备的运算处理性能。此外,在电子设备将神经网络相关数据,尤其是将非线性激活函数的查找表存储于外部存储模块的情况下,通过乒乓操作能够高效地实现对查找表的查询,有利于提升电子设备通过其处理模块执行神经网络的效率,同时在该处理模块的芯片PPA指标上尽可能取得最优平衡,从而能够有效提高电子设备的运算处理性能。
请参阅图8,图8是本申请实施例公开的另一种电子设备的模块化示意图。如图8所示,该电子设备可以包括:
存储有可执行程序代码的存储器801;
与存储器801耦合的处理器802;
其中,处理器802调用存储器801中存储的可执行程序代码,可以执行上述实施例所描述的任意一种数据存储方法中的全部或部分步骤。
此外,本申请实施例进一步公开了一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,该计算机程序使得计算机可以执行上述实施例所描述的任意一种数据存储方法中的全部或部分步骤。
此外,本申请实施例进一步公开一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机可以执行上述实施例所描述的任意一种数据存储方法中的全部或部分步骤。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其它光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其它介质。
以上对本申请实施例公开的一种数据存储方法及装置、电子设备、存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种数据存储方法,其特征在于,应用于电子设备,所述电子设备包括处理模块以及外部存储模块,所述处理模块还包括内部存储子模块,所述方法包括:
获取神经网络对应的模型数据,所述神经网络是由所述处理模块执行的神经网络;
根据所述内部存储子模块的存储容量,以及所述模型数据的占用容量,确定所述模型数据的存储位置,其中,所述存储位置包括所述外部存储模块或所述内部存储子模块。
2.根据权利要求1所述的方法,其特征在于,所述模型数据包括所述神经网络对应的非线性激活函数的查找表,所述神经网络通过所述查找表获取所述非线性激活函数的输出值。
3.根据权利要求2所述的方法,其特征在于,所述处理模块包括至少一个神经网络计算单元,所述内部存储子模块包括与各个所述神经网络计算单元分别对应的各个内部存储单元,所述根据所述内部存储子模块的存储容量,以及所述模型数据的占用容量,确定所述模型数据对应的存储位置,包括:
在所述内部存储子模块的存储容量大于或等于所述查找表的占用容量的情况下,确定所述查找表的存储位置为所述内部存储子模块。
4.根据权利要求3所述的方法,其特征在于,所述确定所述查找表的存储位置为所述内部存储子模块,包括:
在每个所述内部存储单元的存储容量均大于或等于所述查找表的占用容量的情况下,将所述查找表分别存储至每个所述内部存储单元。
5.根据权利要求3所述的方法,其特征在于,所述确定所述查找表的存储位置为所述内部存储子模块,包括:
在任一个所述内部存储单元的存储容量小于所述查找表的占用容量的情况下,将全部所述查找表分配为N份子表,其中,N为所述处理模块包含的神经网络计算单元的数量;
将N份子表分别存储至N个所述内部存储单元,其中,每一份子表存储至每一个所述内部存储单元。
6.根据权利要求2所述的方法,其特征在于,所述根据所述内部存储子模块的存储容量,以及所述模型数据的占用容量,确定所述模型数据对应的存储位置,包括:
在所述内部存储子模块的存储容量小于所述查找表的占用容量的情况下,确定所述查找表对应的存储位置为所述外部存储模块。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述处理模块执行非线性激活函数的情况下,将与所述非线性激活函数对应的查找表从所述外部存储模块读取至所述内部存储子模块。
8.根据权利要求7所述的方法,其特征在于,所述内部存储子模块包括第一存储空间和第二存储空间,所述将与所述非线性激活函数对应的查找表从所述外部存储模块读取至所述内部存储子模块,包括:
在所述处理模块中的神经网络计算单元访问所述第一存储空间的情况下,从所述外部存储模块中,将与所述非线性激活函数对应的查找表中的第一查找表读取至所述第一存储空间,以及,将所述查找表中的第二查找表读取至所述第二存储空间,其中,所述第二查找表在所述外部存储模块中的存储位置位于所述第一查找表在所述外部存储模块中的存储位置之后;
在所述神经网络计算单元访问所述第二存储空间的情况下,从所述外部存储模块中,将所述查找表中的第三查找表读取至所述第一存储空间,直至所述神经网络计算单元访问到所述非线性激活函数对应的所述查找表中的所有查找表为止。
9.根据权利要求1至8任一项所述的方法,其特征在于,在所述根据所述内部存储子模块的存储容量,以及所述模型数据的占用容量,确定所述模型数据的存储位置之后,所述方法还包括:
检测所述存储位置对应的可用存储空间;
根据所述模型数据的占用容量以及数据类型,对所述可用存储空间进行校验,并在所述可用存储空间符合校验条件的情况下,确认所述存储位置为所述模型数据的存储位置。
10.一种数据存储装置,其特征在于,应用于电子设备,所述电子设备包括处理模块以及外部存储模块,所述处理模块还包括内部存储子模块,所述存储装置包括:
获取单元,用于获取神经网络对应的模型数据,所述神经网络是由所述处理模块执行的神经网络;
存储位置确定单元,用于根据所述内部存储子模块的存储容量,以及所述模型数据的占用容量,确定所述模型数据的存储位置,其中,所述存储位置包括所述外部存储模块或所述内部存储子模块。
11.一种电子设备,其特征在于,所述电子设备包括存储器及处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器实现如权利要求1至9任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211262615.2A CN115686835A (zh) | 2022-10-14 | 2022-10-14 | 数据存储方法及装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211262615.2A CN115686835A (zh) | 2022-10-14 | 2022-10-14 | 数据存储方法及装置、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115686835A true CN115686835A (zh) | 2023-02-03 |
Family
ID=85066643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211262615.2A Pending CN115686835A (zh) | 2022-10-14 | 2022-10-14 | 数据存储方法及装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115686835A (zh) |
-
2022
- 2022-10-14 CN CN202211262615.2A patent/CN115686835A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11157592B2 (en) | Hardware implementation of convolutional layer of deep neural network | |
CN107895191B (zh) | 一种信息处理方法及相关产品 | |
US11789847B2 (en) | On-chip code breakpoint debugging method, on-chip processor, and chip breakpoint debugging system | |
US11513586B2 (en) | Control device, method and equipment for processor | |
US10747292B2 (en) | Dynamic voltage frequency scaling device and method | |
CN110061930B (zh) | 一种数据流量的限制、限流值的确定方法和装置 | |
CN111240746B (zh) | 一种浮点数据反量化及量化的方法和设备 | |
CN111338695A (zh) | 基于流水线技术的数据处理方法及相关产品 | |
CN111782402A (zh) | 数据处理方法、装置以及电子设备 | |
CN110377342B (zh) | 基于卷积神经网络的显存处理方法、装置及存储介质 | |
CN114925651A (zh) | 一种电路走线确定方法及相关设备 | |
CN115686835A (zh) | 数据存储方法及装置、电子设备、存储介质 | |
CN111260042B (zh) | 数据选择器、数据处理方法、芯片及电子设备 | |
CN112596881B (zh) | 存储部件及人工智能处理器 | |
CN113128673B (zh) | 数据处理方法、存储介质、神经网络处理器及电子设备 | |
US11741349B2 (en) | Performing matrix-vector multiply operations for neural networks on electronic devices | |
CN109542837B (zh) | 运算方法、装置及相关产品 | |
CN114692824A (zh) | 一种神经网络模型的量化训练方法、装置和设备 | |
CN112801276A (zh) | 数据处理方法、处理器及电子设备 | |
CN111027683A (zh) | 数据处理方法、装置、存储介质及电子设备 | |
CN111967588A (zh) | 量化运算方法及相关产品 | |
CN111597886B (zh) | 一种用于指纹图像处理的硬件加速器、***及加速方法 | |
CN111930669B (zh) | 多核异构智能处理器及运算方法 | |
CN109543834B (zh) | 运算方法、装置及相关产品 | |
CN109558943B (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 |