本公开涉及计算机,特别涉及一种数据存储方法、数据处理方法及装置、电子设备、介质。
背景技术:
1、神经网络一般由多个网络层构成,每个网络层中通常包含有多个神经元,每一网络层中的神经元都会与前一层的神经元或输入数据相连,神经网络在前向传播过程中,每一网络层在处理计算任务的过程中,通常需要先读取存储空间中存储的前一网络层中神经元输出的多个激活值,并基于该多个激活值和自身神经元的权重进行计算,得到自身的输出数据。
2、由于神经网络,尤其复杂结构的神经网络中各网络层包含的神经元较多,因此,在神经网络执行计算任务时,针对前向传播过程中每一网络层输出的激活值均需要进行存储,存在对存储空间的占用较多的问题。
技术实现思路
1、本公开提供一种数据存储方法、数据处理方法及装置、电子设备、介质。
2、第一方面,本公开提供了一种数据存储方法,该数据存储方法包括:
3、对待存储的m个第一数据分别进行拆分,得到m个第二数据和m个第三数据,其中,所述m个第二数据的取值分布满足预设条件,所述m个第三数据的取值分布不满足所述预设条件,所述预设条件包括:数值的取值分布的熵值小于预设阈值,m>1;
4、对所述m个第二数据进行压缩编码,得到与所述m个第二数据对应的第四数据,其中,所述第四数据的数据量小于所述m个第二数据的数据量;
5、将所述第四数据存储于第一存储空间,并将所述m个第三数据存储于第二存储空间。
6、第二方面,本公开提供了一种数据处理方法,该数据处理方法包括:
7、在神经网络执行目标处理任务的情况下,针对所述神经网络的第一网络层,从第一存储空间读取第四数据,并从第二存储空间读取m个第三数据,其中,所述第四数据和所述m个第三数据是根据上述第一方面的数据存储方法对m个第一数据进行存储后得到的,所述m个第一数据为所述第一网络层在前向传播过程中输出的m个激活值;
8、对所述第四数据进行解压缩处理,得到m个第二数据;
9、根据所述m个第二数据和所述m个第三数据,生成所述m个第一数据;
10、将所述m个第一数据作为所述神经网络的第二网络层的输入数据,基于所述第二网络层对所述输入数据进行处理,得到所述第二网络层的输出数据。
11、第三方面,本公开提供了一种数据存储装置,该数据存储装置包括:
12、数据拆分模块,用于对待存储的m个第一数据分别进行拆分,得到m个第二数据和m个第三数据,其中,所述m个第二数据的取值分布满足预设条件,所述m个第三数据的取值分布不满足所述预设条件,所述预设条件包括:数值的取值分布的熵值小于预设阈值,m>1;
13、数据编码模块,用于对所述m个第二数据进行压缩编码,得到与所述m个第二数据对应的第四数据,其中,所述第四数据的数据量小于所述m个第二数据的数据量;
14、数据存储模块,用于将所述第四数据存储于第一存储空间,并将所述m个第三数据存储于第二存储空间。
15、第四方面,本公开提供了一种数据处理装置,该数据处理装置包括:
16、数据读取模块,用于在神经网络执行目标处理任务的情况下,针对所述神经网络的第一网络层,从第一存储空间读取第四数据,并从第二存储空间读取m个第三数据,其中,所述第四数据和所述m个第三数据是根据上述第一方面的数据存储方法对m个第一数据进行存储后得到的,所述m个第一数据为所述第一网络层在前向传播过程中输出的m个激活值;
17、数据解压模块,用于对所述第四数据进行解压缩处理,得到m个第二数据;
18、数据生成模块,用于根据所述m个第二数据和所述m个第三数据,生成所述m个第一数据;
19、数据处理模块,用于将所述m个第一数据作为所述神经网络的第二网络层的输入数据,基于所述第二网络层对所述输入数据进行处理,得到所述第二网络层的输出数据。
20、第五方面,本公开提供了一种电子设备,该电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序,一个或多个所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面的数据存储方法或上述第二方面的数据处理方法。
21、第六方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序在被处理器执行时实现上述第一方面的数据存储方法或上述第二方面的数据处理方法。
22、本公开所提供的实施例,考虑到针对m个第一数据,其整体取值分布虽然并不满足进行数据压缩的预设条件,该预设条件例如可以为:数值的取值分布的熵值小于预设阈值,然而,在将数据进行局部拆分的情况下,拆分后的数据可能存在满足进行数据压缩的预设条件,因此,通过分别对每个第一数据中进行拆分,得到第一数据中取值分布满足预设条件的数据作为第二数据以及不满足该预设条件的数据作为第三数据,之后,通过对满足预设条件的第二数据进行压缩编码,就可以将m个第一数据中取值分布可以被压缩的部分进行压缩,例如,可以将m个第一数据中数值的取值分布的熵值小于预设阈值的部分进行压缩,从而得到数据量小于原始的m个第二数据的数据量的第四数据,这样,相较于直接存储m个第一数据所需要耗费的存储空间,通过分别存储压缩后的第四数据以及该m个第三数据,可以降低对存储空间的过多占用,提升存储空间的利用效率。
23、应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
1.一种数据存储方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述第一数据包括多个数据位;所述对待存储的m个第一数据分别进行拆分,得到m个第二数据和m个第三数据,包括:
3.根据权利要求2所述的方法,其特征在于,所述m个第一数据包括浮点型数据,所述数据位包括指数位;
4.根据权利要求1所述的方法,其特征在于,所述对所述m个第二数据进行压缩编码,得到与所述m个第二数据对应的第四数据,包括:
5.根据权利要求4所述的方法,其特征在于,所述基于所述n个基准数据和所述m个第二数据,得到所述第四数据,包括:
6.根据权利要求5所述的方法,其特征在于,所述将所述m个第二数据与所述n个基准数据进行差分处理,得到m个差分值,包括:
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述第一数据包括神经网络前向传播过程中的激活值。
8.一种数据处理方法,其特征在于,包括:
9.一种数据存储装置,其特征在于,包括:
10.一种电子设备,其特征在于,包括:
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序在被处理器执行时实现如权利要求1-8中任一项所述的方法。