本申请涉及信息处理,尤其涉及一种卷积神经网络模型中间层数据的处理方法及系统。
背景技术:
1、卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,其包含有多个阶层,可以通过卷积神经网络进行深度学习。例如,vgg系列网络模型其阶层深度基本均在10层以上,残差网络模型的深度更是多达数十层甚至上百层。
2、复杂的卷积神经网络模型虽然具有超强的规则学习能力,但是由于层数较多,不仅自身结构占用较多的存储空间,而且使用过程中每层输出的中间层数据需要占用更多的存储空间,由此导致存储空间面临着巨大的压力。其中,卷积神经网络模型的中间层数据主要是指每个卷积层输出的经过卷积核提取特征后的特征图像。
3、为了减轻使用卷积神经网络模型时存储空间的压力,提高卷积神经网络模型的计算速度,可以对卷积神经网络模型的中间层数据进行压缩。但是,现阶段的压缩方法主要聚焦于卷积神经网络模型自身结构的压缩和对卷积神经网络模型权重的压缩,其对中间层数据的压缩没有较好的效果。因此,卷积神经网络模型的中间层数据仍无法压缩,导致卷积神经网络模型对中间层数据压缩效果差。
技术实现思路
1、本申请一些实施例提供一种卷积神经网络模型中间层数据的处理方法及系统,以解决卷积神经网络模型对中间层数据压缩效果差的问题。
2、第一方面,本申请一些实施例提供一种卷积神经网络模型中间层数据的处理方法,包括:
3、获取卷积神经网络模型中的第一中间层对输入数据进行处理所得的第一中间层数据;
4、获取所述第一中间层数据的实际位宽;
5、将所述第一中间层数据根据预设编码位宽参数执行转换,得到压缩后数据,其中,所述预设编码位宽参数的位宽小于所述实际位宽;
6、存储所述压缩后数据。
7、在一些实施例中,所述的卷积神经网络模型中间层数据的处理方法,还包括:
8、获取所述压缩后数据;
9、解压所述压缩后数据,生成解压后数据,所述解压后数据的位宽与所述实际位宽相同;
10、将所述解压后数据输入到所述第二中间层。
11、在一些实施例中,将所述第一中间层数据根据预设编码位宽参数执行转换,得到压缩后数据的步骤,包括:
12、使用第一预设长度的短位宽表示所述第一中间层数据,和/或使用预设固定值与第二预设长度的长位宽表示所述第一中间层数据,所述第二预设长度大于所述第一预设长度;所述预设固定值为根据所述短位宽设置的固定值,所述长位宽小于所述实际位宽。
13、在一些实施例中,所述的卷积神经网络模型中间层数据的处理方法,还包括:
14、对所述第一中间层数据执行分区块操作;
15、对分区块后的第一中间层数据执行离散余弦变换;
16、对离散余弦变换后的第一中间层数据执行量子化处理;
17、对量子化处理后的第一中间层数据执行混合位宽编码;
18、存储编码后的第一中间层数据。
19、在一些实施例中,所述的卷积神经网络模型中间层数据的处理方法,还包括:
20、使用编码数组划分所述第一中间层数据;
21、计算所述编码数组所表示的数据范围;
22、获取所述编码数组表示的第一中间层数据出现的频率;
23、根据所述频率计算所述第一中间层数据编码后的平均码长;
24、根据所述平均码长计算所述第一中间层数据编码后的压缩率。
25、在一些实施例中,所述的卷积神经网络模型中间层数据的处理方法,还包括:
26、遍历所述第一中间层数据,以获取所述第一中间层数据的数据特征;
27、根据所述数据特征确定混合位宽编码形式,所述混合位宽编码形式表示扩展所述编码数组,采用多组编码数组的形式对所述第一中间层数据执行编码;
28、通过所述混合位宽编码形式对所述第一中间层数据执行编码,得到压缩后数据。
29、第二方面,本申请一些实施例提供一种卷积神经网络模型中间层数据的处理系统,包括:
30、数据获取模块:获取卷积神经网络模型中的第一中间层对输入数据进行处理所得的第一中间层数据;
31、位宽获取模块:获取所述第一中间层数据的实际位宽;
32、压缩模块:将所述第一中间层数据根据预设编码位宽参数执行转换,得到压缩后数据,其中,所述预设编码位宽参数的位宽小于所述实际位宽;
33、存储模块:存储所述压缩后数据。
34、在一些实施例中,压缩模块在执行将所述第一中间层数据根据预设编码位宽参数执行转换,得到压缩后数据的步骤,包括:
35、使用第一预设长度的短位宽表示所述第一中间层数据,和/或使用预设固定值与第二预设长度的长位宽表示所述第一中间层数据,所述第二预设长度大于所述第一预设长度;所述预设固定值为根据所述短位宽设置的固定值,所述长位宽小于所述实际位宽。
36、在一些实施例中,所述的卷积神经网络模型中间层数据的处理系统,还包括离散余弦变换模块,所述离散余弦变换模块被配置为执行下述步骤:
37、对所述第一中间层数据执行分区块操作;
38、对分区块后的第一中间层数据执行离散余弦变换;
39、对离散余弦变换后的第一中间层数据执行量子化处理;
40、对量子化处理后的第一中间层数据执行混合位宽编码;
41、存储编码后的第一中间层数据。
42、在一些实施例中,所述的卷积神经网络模型中间层数据的处理系统,还包括压缩率计算模块,所述压缩率计算模块被配置为执行下述步骤:
43、使用编码数组划分所述第一中间层数据;
44、计算所述编码数组所表示的数据范围;
45、获取所述编码数组表示的第一中间层数据出现的频率;
46、根据所述频率计算所述第一中间层数据编码后的平均码长;
47、根据所述平均码长计算所述第一中间层数据编码后的压缩率。
48、由以上技术方案可知,本申请一些实施例提供一种卷积神经网络模型中间层数据的处理方法及系统,所述方法包括获取卷积神经网络模型中的任一中间层对输入数据进行处理所得的中间层数据;获取中间层数据的实际位宽;将中间层数据根据预设编码位宽参数执行转换,得到压缩后数据,其中预设编码位宽参数的位宽小于实际位宽;存储压缩后数据。同时获取并解压压缩后数据生成解压后数据,解压后数据与压缩前数据仍然保持一致,并将解压后数据输入到下一中间层。本申请旨在下一中间层处理之前对上一层产生的中间层数据进行压缩,在下一阶层计算之前再提取出来进行解压,送入下一阶层计算。这样既可以减少对存储器的访问,又可以解决卷积神经网络模型对中间层数据压缩效果差的问题。
1.一种卷积神经网络模型中间层数据的处理方法,其特征在于,包括:
2.根据权利要求1所述的卷积神经网络模型中间层数据的处理方法,其特征在于,还包括:
3.根据权利要求1所述的卷积神经网络模型中间层数据的处理方法,其特征在于,将所述第一中间层数据根据预设编码位宽参数执行转换,得到压缩后数据的步骤,包括:
4.根据权利要求1所述的卷积神经网络模型中间层数据的处理方法,其特征在于,还包括:
5.根据权利要求1所述的卷积神经网络模型中间层数据的处理方法,其特征在于,还包括:
6.根据权利要求5所述的卷积神经网络模型中间层数据的处理方法,其特征在于,还包括:
7.一种卷积神经网络模型中间层数据的处理系统,其特征在于,包括:
8.根据权利要求7所述的卷积神经网络模型中间层数据的处理系统,其特征在于,压缩模块在执行将所述第一中间层数据根据预设编码位宽参数执行转换,得到压缩后数据的步骤,包括:
9.根据权利要求7所述的卷积神经网络模型中间层数据的处理系统,其特征在于,还包括离散余弦变换模块,所述离散余弦变换模块被配置为执行下述步骤:
10.根据权利要求7所述的卷积神经网络模型中间层数据的处理系统,其特征在于,还包括压缩率计算模块,所述压缩率计算模块被配置为执行下述步骤: