基于深度优先数据调度的分块卷积计算专用架构和设备制造技术

技术编号:39870485 阅读:6 留言:0更新日期:2023-12-30 12:58
本发明专利技术属于深度学习领域,具体涉及了一种基于深度优先数据调度的分块卷积计算专用架构

【技术实现步骤摘要】
基于深度优先数据调度的分块卷积计算专用架构和设备


[0001]本专利技术属于深度学习领域,具体涉及了一种基于深度优先数据调度的分块卷积计算专用架构

方法和设备


技术介绍

[0002]随着深度学习技术的不断发展,以卷积神经网络为代表的一系列模型在图像分类

目标检测和场景分割等领域取得了良好的效果,并在生活中得到了广泛应用

为了获得更好的任务精度,卷积神经网络模型常常采用由若干个卷积层和池化层构成的深度神经网络,但这些模型在
GPU
设备上进行前向推理时,通常会有大量的片外数据交互问题,这在一定程度上影响了卷积推理的效率

因此,需要设计一种针对卷积神经网络模型的专用计算架构,通过一定方法避免前向推理时片外数据交互的问题,提高卷积模型的推理效率

[0003]尤其在家用图像设备领域和清洁设备领域,通常需要设置嵌入式设备通过基于卷积模型的检测算法来识别人体或物体,继续一种能够再小尺寸的设备中放入的参数计算量更大

对图像的计算更快的架构,提高用用体验


技术实现思路

[0004]为了解决现有技术中的上述问题,即现有的
GPU
设备在进行前向推理时,难以避免大量的片外数据交互影像卷积推理效率的问题,本专利技术提供了一种基于深度优先数据调度的分块卷积计算专用架构,包括:
block
模块
、Block

wise Convolution
模块
、weights
模块

内部存储器和调度器模块;
[0005]所述
block
模块,配置为读取输入特征图像
feature
的一个
block
大小的特征作为第0级特征图;所述
feature

p*q

block
构成;
[0006]所述
Block

wise Convolution
模块,配置为对当前的第
s
级特征图执行分块卷积或池化的计算;
[0007]所述
weights
模块,配置为存储卷积模型中各卷积层的权重参数;
[0008]所述内部存储器,配置为临时存储卷积模型前向推理时各层的计算结果;
[0009]所述调度器模块,配置为对
block
模块
、Block

wise Convolution
模块
、weights
模块

内部存储器模块进行控制

[0010]在一些优选的实施方式中,所述调度器模块,用于:
[0011]当
block
模块读取第0级特征图至内部存储器中时,将第0级卷积层的权重参数和所述第0级特征图传递至所述
Block

wise Convolution
模块中进行卷积运算,将卷积运算结果存入所述内部存储器

[0012]在一些优选的实施方式中,所述所述内部存储器,包括
SRAM1、SRAM2

SRAM3

[0013]所述
SRAM1
用于存储输入
Block

wise Convolution
模块的待计算的特征图;
[0014]所述
SRAM2
用于存储
Block

wise Convolution
模块输出的卷积运算结果;
[0015]所述
SRAM3
用于存储
Block

wise Convolution
模块输出的池化结果

[0016]在一些优选的实施方式中,所述调度器模块,还用于:
[0017]当完成当前卷积层的卷积运算后,若卷积模型的下一层为池化层,将下一层池化层设为当前层池化层,对上一层卷积层的卷积运算结果进行池化,并将池化结果存入所述内部存储器;
[0018]判断所述当前池化层的池化结果所在的特征图是否达到一个
block
大小;
[0019]若达到一个
block
大小,继续进行下一层运算;
[0020]若不达到一个
block
大小,则通过
block
模块读取输入特征图像
feature
的一个
block
的特征作为当前特征图,重新进行计算

[0021]在一些优选的实施方式中,所述调度器模块,还用于:
[0022]当完成当前的第
s
级卷积层的卷积运算后,若卷积模型的第
s+1
级为卷积层,则将第
s
级的卷积结果即第
s
级特征图存入内部存储器的
SRAM1

SRAM2
中;
[0023]其中,在卷积模型的当前层为卷积层时,
SRAM1

SRAM2
为交替存储输出结果,若当前卷积层以
SRAM1
中的特征作为输入特征则将输出特征存入
SRAM2
中;若当前卷积层以
SRAM2
中的特征作为输入特征,则将输出特征存入
SRAM1


[0024]在一些优选的实施方式中,所述调度器模块,还用于:
[0025]当卷积模型的第
s
级和第
s+1
级均为卷积层时,将
SRAM1

SRAM2
中的第
s
级特征作为输入特征,通过
Block

wise Convolution
调用所述输入特征和对应的权重参数完成卷积运算,获得第
s+1
级特征,并将第
s+1
级特征存入
SRAM1

SRAM2
中;
[0026]当全集模型的第
s
级为卷积层而第
s+1
级为池化层时,将
SRAM1

SRAM2
中的第
s
级特征作为输入特征,通过
Block

wise Convolution
模块输出池化后的结果作为第
s+1
级特征,并将第
s+1
级特征存入
SRAM3
中与当前池化层对应的存储区域;
[0027]在当前层为池化层时,池化结果均存入...

【技术保护点】

【技术特征摘要】
1.
一种基于深度优先数据调度的分块卷积计算专用架构,其特征在于,包括:
block
模块
、Block

wise Convolution
模块
、weights
模块

内部存储器和调度器模块;所述
block
模块,配置为读取输入特征图像
feature
的一个
block
大小的特征作为第0级特征图;所述
feature

p*q

block
构成;所述
Block

wise Convolution
模块,配置为对当前的第
s
级特征图执行分块卷积或池化的计算;所述
weights
模块,配置为存储卷积模型中各卷积层的的权重参数;所述内部存储器,配置为临时存储卷积模型前向推理时各层的计算结果;所述调度器模块,配置为对
block
模块
、Block

wise Convolution
模块
、weights
模块

内部存储器模块进行控制
。2.
根据权利要求1所述的基于深度优先数据调度的分块卷积计算专用架构,其特征在于,所述调度器模块,用于:当
block
模块读取第0级特征图至内部存储器中时,将第0级卷积层的权重参数和所述第0级特征图传递至所述
Block

wise Convolution
模块中进行卷积运算,将卷积运算结果存入所述内部存储器
。3.
根据权利要求1所述的基于深度优先数据调度的分块卷积计算专用架构,其特征在于,所述所述内部存储器,包括
SRAM1、SRAM2

SRAM3
;所述
SRAM1
用于存储输入
Block

wise Convolution
模块的特征图和存储
Block

wise Convolution
模块输出的卷积运算结果;所述
SRAM2
用于存储
Block

wise Convolution
模块输出的卷积运算结果;所述
SRAM3
用于存储
Block

wise Convolution
模块输出的池化结果
。4.
根据权利要求3所述的基于深度优先数据调度的分块卷积计算专用架构,其特征在于,所述调度器模块,还用于:当完成当前卷积层的卷积运算后,若卷积模型的下一层为池化层,将下一层池化层设为当前层池化层,对上一层卷积层的卷积运算结果进行池化,并将池化结果存入所述内部存储器;判断所述当前池化层的池化结果所在的特征图是否达到一个
block
大小;若达到一个
block
大小,继续进行下一层运算;若不达到一个
block
大小,则通过
block
模块读取输入特征图像
feature
的一个
block
的特征作为当前特征图,重新进行计算
。5.
根据权利要求4所述的基于深度优先数据调度的分块卷积计算专用架构,其特征在于,所述调度器模块,还用于:当完成当前的第
s
级卷积层的卷积运算后,若卷积模型的第
s+1
级为卷积层,则将第
s
级的卷积结果即第
s
级特征图存入内部存储器的
SRAM1

SRAM2
中;其中,在卷积模型的当前层为卷积层时,
SRAM1

SRAM2
为交替存储输出结果,若当前卷积层以
SRAM1
中的特征作为输入特征则将输出特征存入
SRAM2
中;若当前卷积层以
SRAM2
中的特征作为输入特征,则将输出特征存入
SRAM1

。6.
根据权利要求5所述的基于深度优先数据调度的分块卷积计算专用架构,其特征在于,所述调度器模块,还用于:
当卷积模型的第
s
级和第
s+1
级均为卷积层时,将
SRAM1

SRAM2
中的第
s
级特征作为输入特征,通过
Block

wise Convolution
调用所述输入特征和对应的权重参数完成卷积运算,获得第
s+1
级特征,并将第
s+1
级特征存入
SRAM1

SRAM2
中;当全集模型的第
s
级为卷积层而第
s+1
级为池化层时,将
SRAM1

SRAM2
中的第
s
级特征作为输入特征,通过
Block

wise Convolution
模块输出...

【专利技术属性】
技术研发人员:尹志刚张鹏
申请(专利权)人:中国科学院自动化研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1