数据处理方法、设备、DMA控制器及计算机可读存储介质技术

技术编号:19878312 阅读:25 留言:0更新日期:2018-12-22 17:57
一种数据处理方法、设备、DMA控制器及计算机可读存储介质,所述方法包括:根据输入特征图的特征信息生成第一DMA读配置信息和第一DMA写配置信息,并确定第二DMA读配置信息和第二DMA写配置信息(201);根据所述第一DMA读配置信息,从所述输入特征图中读取数据;根据所述第一DMA写配置信息,将读取的数据输出给运算逻辑(202);根据所述第二DMA读配置信息读取运算逻辑的运算结果;根据所述第二DMA写配置信息,将读取的运算结果存储到输出特征图(203)。应用该方法,可以由DMA控制器实现CNN中的数据搬移,不需要由CPU实现CNN中的数据搬移,从而减轻CPU负担,更高效地搬移数据,进而起到加速CNN运算的效果,同时也不失灵活性。

【技术实现步骤摘要】
【国外来华专利技术】数据处理方法、设备、DMA控制器及计算机可读存储介质
本专利技术涉及图像处理
,尤其是涉及一种数据处理方法、设备、DMA(DirectMemoryAccess,直接内存存取)控制器及计算机可读存储介质。
技术介绍
在机器学习中,CNN(ConvolutionalNeuralNetwork,卷积神经网络)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理具有出色表现。CNN是一个多层的神经网络,每层由多个二维平面组成,每个平面由多个独立的神经元组成。一般地,CNN可以由卷积层和池化层组成,卷积层的作用是提取图像的各种特征,池化层的作用是对原始特征信号进行两次特征提取,以减小特征分辨率,大幅度减少训练参数,并可以减轻模型过拟合的程度。此外,CNN以其局部权值共享的特殊结构,降低网络的复杂性,特别是多维输入向量的图像可以直接输入网络这一特点,避免了特征提取和分类过程中数据重建的复杂度,因而得到广泛应用。CNN中涉及多种数据搬移任务,数据搬移任务由CPU(CentralProcessingUnit,中央处理器)实现,其数据搬移效率较低,给CPU增加过本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,应用于直接内存存取DMA控制器,所述方法包括:根据输入特征图的特征信息生成第一DMA读配置信息和第一DMA写配置信息,并确定第二DMA读配置信息和第二DMA写配置信息;根据所述第一DMA读配置信息,从所述输入特征图中读取数据;根据所述第一DMA写配置信息,将读取的数据输出给运算逻辑;根据所述第二DMA读配置信息读取运算逻辑的运算结果;根据所述第二DMA写配置信息,将读取的运算结果存储到输出特征图。

【技术特征摘要】
【国外来华专利技术】1.一种数据处理方法,其特征在于,应用于直接内存存取DMA控制器,所述方法包括:根据输入特征图的特征信息生成第一DMA读配置信息和第一DMA写配置信息,并确定第二DMA读配置信息和第二DMA写配置信息;根据所述第一DMA读配置信息,从所述输入特征图中读取数据;根据所述第一DMA写配置信息,将读取的数据输出给运算逻辑;根据所述第二DMA读配置信息读取运算逻辑的运算结果;根据所述第二DMA写配置信息,将读取的运算结果存储到输出特征图。2.根据权利要求1所述的方法,其特征在于,所述特征信息包括:所述输入特征图的宽度W、高度H;所述根据输入特征图的特征信息生成第一DMA读配置信息,包括:根据所述输入特征图的宽度W生成X方向计数配置;根据所述输入特征图的高度H生成Y方向计数配置;根据预设数值生成X方向步幅配置和Y方向步幅配置。3.根据权利要求2所述的方法,其特征在于,所述第一DMA读配置信息包括:X方向计数配置:W;Y方向计数配置:H;X方向步幅配置:1;Y方向步幅配置:1。4.根据权利要求2所述的方法,其特征在于,所述特征信息还包括:所述输入特征图的通道数N;所述根据输入特征图的特征信息生成第一DMA读配置信息,包括:根据所述输入特征图的通道数N生成Z方向计数配置;根据预设数值生成Z方向步幅配置。5.根据权利要求1所述的方法,其特征在于,所述特征信息包括:所述输入特征图的宽度W、高度H;所述根据输入特征图的特征信息生成第一DMA写配置信息,包括:根据所述输入特征图的宽度W和高度H生成X方向计数配置;根据预设数值生成Y方向计数配置、X方向步幅配置和Y方向步幅配置。6.根据权利要求5所述的方法,其特征在于,所述第一DMA写配置信息包括:X方向计数配置:W*H;Y方向计数配置:0;X方向步幅配置:0;Y方向步幅配置:0。7.根据权利要求1所述的方法,其特征在于,所述特征信息包括:所述输入特征图的宽度W、高度H、通道数N;所述根据输入特征图的特征信息生成第一DMA写配置信息,包括:根据所述输入特征图的宽度W、高度H和通道数N,生成X方向计数配置;以及,根据预设数值生成Y方向计数配置、X方向步幅配置、Y方向步幅配置、Z方向计数配置、Z方向步幅配置。8.根据权利要求7所述的方法,其特征在于,所述第一DMA写配置信息包括:X方向计数配置:W*H*N;Y方向计数配置:0;X方向步幅配置:0;Y方向步幅配置:0;Z方向计数配置:0;Z方向步幅配置:0。9.根据权利要求1所述的方法,其特征在于,所述根据所述第一DMA读配置信息,从所述输入特征图中读取数据,包括:根据所述第一DMA读配置信息,从所述输入特征图对应的起始地址开始,读取所述输入特征图中的每个数据。10.根据权利要求1所述的方法,其特征在于,所述根据所述第一DMA写配置信息,将读取的数据输出给运算逻辑,包括:根据所述第一DMA写配置信息,从所述运算逻辑对应的入口地址开始,将读取的每个数据输出给所述运算逻辑。11.根据权利要求10所述的方法,其特征在于,所述运算逻辑用于对连续W*H个数据进行平均值运算或者最大值运算;其中,W和H分别为所述输入特征图的宽度和高度。12.根据权利要求1所述的方法,其特征在于,所述第二DMA读配置信息包括:X方向计数配置:1;Y方向计数配置:0;X方向步幅配置:0;Y方向步幅配置:0;所述第二DMA写配置信息包括:X方向计数配置:1;Y方向计数配置:1;X方向步幅配置:0;Y方向步幅配置:0。13.根据权利要求1所述的方法,其特征在于,所述第二DMA读配置信息包括:X方向计数配置:N;Y方向计数配置:0;X方向步幅配置:0;Y方向步幅配置:0;Z方向计数配置:0;Z方向步幅配置:0;所述第二DMA写配置信息包括:X方向计数配置:N;Y方向计数配置:1;X方向步幅配置:0;Y方向步幅配置:0;Z方向计数配置:0;Z方向步幅配置:0。14.根据权利要求1所述的方法,其特征在于,根据所述第二DMA读配置信息读取运算逻辑的运算结果,包括:根据所述第二DMA读配置信息,从所述运算逻辑对应的出口地址开始,读取所述运算逻辑产生的每个运算结果。15.根据权利要求1所述的方法,其特征在于,所述根据所述第二DMA写配置信息,将读取的运算结果存储到输出特征图,包括:根据所述第二DMA写配置信息,从输出特征图的起始地址开始,将读取的每个运算结果存储到所述输出特征图。16.根据权利要求1所述的方法,其特征在于,所述将读取的运算结果存储到输出特征图之前,所述方法还包括:确定所述输入特征图对应的目标DMA配置信息;根据所述目标DMA配置信息构造输出特征图。17.根据权利要求16所述的方法,其特征在于,所述目标DMA配置信息包括:X方向计数配置:N;Y方向计数配置:1;X方向步幅配置:0;Y方向步幅配置:0;Z方向计数配置:0;Z方向步幅配置:0;其中,所述N为所述输入特征图的通道数。18.根据权利要求16所述的方法,其特征在于,所述根据所述目标DMA配置信息构造输出特征图,包括:从指定存储位置读取特定样式信息,并根据所述目标DMA配置信息,构造与所述特定样式信息对应的输出特征图。19.一种数据处理方法,其特征在于,应用于直接内存存取DMA控制器,所述方法包括:根据第一输入特征图的特征信息生成第一DMA读配置信息和第一DMA写配置信息,根据第二输入特征图的特征信息生成第二DMA读配置信息和第二DMA写配置信息,并确定第三DMA读配置信息和第三DMA写配置信息;根据所述第一DMA读配置信息,从第一输入特征图中读取第一数据;根据所述第一DMA写配置信息,将读取的第一数据输出给运算逻辑;根据所述第二DMA读配置信息,从第二输入特征图中读取第二数据;根据所述第二DMA写配置信息,将读取的第二数据输出给运算逻辑;根据所述第三DMA读配置信息读取所述运算逻辑的运算结果;根据所述第三DMA写配置信息,将读取的运算结果存储到输出特征图。20.根据权利要求19所述的方法,其特征在于,所述第一输入特征图的特征信息包括:所述第一输入特征图的宽度W、高度H;根据第一输入特征图的特征信息生成第一DMA读配置信息,包括:根据所述第一输入特征图的宽度W生成X方向计数配置;根据所述第一输入特征图的高度H生成Y方向计数配置;根据预设数值生成X方向步幅配置和Y方向步幅配置。21.根据权利要求20所述的方法,其特征在于,所述第一DMA读配置信息包括:X方向计数配置:W;Y方向计数配置:H;X方向步幅配置:1;Y方向步幅配置:1。22.根据权利要求20所述的方法,其特征在于,所述第一输入特征图的特征信息还包括:所述第一输入特征图的通道数N;根据第一输入特征图的特征信息生成第一DMA读配置信息,还包括:根据所述第一输入特征图的通道数N生成Z方向计数配置;根据预设数值生成Z方向步幅配置。23.根据权利要求19所述的方法,其特征在于,所述第一输入特征图的特征信息包括:所述第一输入特征图的宽度W、高度H;根据第一输入特征图的特征信息生成第一DMA写配置信息,包括:根据所述第一输入特征图的宽度W和高度H生成X方向计数配置;根据预设数值生成Y方向计数配置、X方向步幅配置和Y方向步幅配置。24.根据权利要求23所述的方法,其特征在于,所述第一DMA写配置信息包括:X方向计数配置:W*H;Y方向计数配置:0;X方向步幅配置:0;Y方向步幅配置:0。25.根据权利要求19所述的方法,其特征在于,所述第一输入特征图的特征信息包括:所述第一输入特征图的宽度W、高度H、通道数N;所述根据第一输入特征图的特征信息生成第一DMA写配置信息,包括:根据所述第一输入特征图的宽度W、高度H和通道数N,生成X方向计数配置;以及,根据预设数值生成Y方向计数配置、X方向步幅配置、Y方向步幅配置、Z方向计数配置、Z方向步幅配置。26.根据权利要求25所述的方法,其特征在于,所述第一DMA写配置信息包括:X方向计数配置:W*H*N;Y方向计数配置:0;X方向步幅配置:0;Y方向步幅配置:0;Z方向计数配置:0;Z方向步幅配置:0。27.根据权利要求19所述的方法,其特征在于,所述根据所述第一DMA读配置信息,从第一输入特征图中读取第一数据,包括:根据所述第一DMA读配置信息,从所述第一输入特征图对应的起始地址开始,读取所述第一输入特征图中的每个第一数据。28.根据权利要求19所述的方法,其特征在于,所述根据所述第一DMA写配置信息,将读取的第一数据输出给运算逻辑,包括:根据所述第一DMA写配置信息,从所述运算逻辑对应的第一入口地址开始,将读取的每个第一数据输出给所述运算逻辑。29.根据权利要求19所述的方法,其特征在于,所述第二输入特征图的特征信息包括:所述第二输入特征图的宽度W、高度H;根据第二输入特征图的特征信息生成第二DMA读配置信息,包括:根据所述第二输入特征图的宽度W生成X方向计数配置;根据所述第二输入特征图的高度H生成Y方向计数配置;根据预设数值生成X方向步幅配置和Y方向步幅配置。30.根据权利要求29所述的方法,其特征在于,所述第二DMA读配置信息包括:X方向计数配置:W;Y方向计数配置:H;X方向步幅配置:1;Y方向步幅配置:1。31.根据权利要求29所述的方法,其特征在于,所述第二输入特征图的特征信息还包括:所述第二输入特征图的通道数N;根据第二输入特征图的特征信息生成第二DMA读配置信息,还包括:根据所述第二输入特征图的通道数N生成Z方向计数配置;根据预设数值生成Z方向步幅配置。32.根据权利要求19所述的方法,其特征在于,所述第二输入特征图的特征信息包括:所述第二输入特征图的宽度W、高度H;根据第二输入特征图的特征信息生成第二DMA写配置信息,包括:根据所述第二输入特征图的宽度W和高度H生成X方向计数配置;根据预设数值生成Y方向计数配置、X方向步幅配置和Y方向步幅配置。33.根据权利要求32所述的方法,其特征在于,所述第二DMA写配置信息包括:X方向计数配置:W*H;Y方向计数配置:0;X方向步幅配置:0;Y方向步幅配置:0。34.根据权利要求19所述的方法,其特征在于,所述第二输入特征图的特征信息包括:所述第二输入特征图的宽度W、高度H、通道数N;所述根据第二输入特征图的特征信息生成第二DMA写配置信息,包括:根据所述第二输入特征图的宽度W、高度H和通道数N,生成X方向计数配置;以及,根据预设数值生成Y方向计数配置、X方向步幅配置、Y方向步幅配置、Z方向计数配置、Z方向步幅配置。35.根据权利要求34所述的方法,其特征在于,所述第二DMA写配置信息包括:X方向计数配置:W*H*N;Y方向计数配置:0;X方向步幅配置:0;Y方向步幅配置:0;Z方向计数配置:0;Z方向步幅配置:0。36.根据权利要求19所述的方法,其特征在于,若所述第二输入特征图为至少一个参数图,针对每个参数图,所述第二DMA读配置信息包括:X方向计数配置:1;Y方向计数配置:0;X方向步幅配置:1;Y方向步幅配置:0;所述第二DMA写配置信息包括:X方向计数配置:1;Y方向计数配置:0;X方向步幅配置:0;Y方向步幅配置:0。37.根据权利要求19所述的方法,其特征在于,若所述第二输入特征图为至少一个参数图,针对每个参数图,所述第二DMA读配置信息包括:X方向计数配置:N;Y方向计数配置:0;X方向步幅配置:1;Y方向步幅配置:0;Z方向计数配置:0;Z方向步幅配置:0;所述第二DMA写配置信息包括:X方向计数配置:N;Y方向计数配置:0;X方向步幅配置:0;Y方向步幅配置:0;Z方向计数配置:0;Z方向步幅配置:0。38.根据权利要求19所述的方法,其特征在于,所述根据所述第二DMA读配置信息,从第二输入特征图中读取第二数据,包括:根据所述第二DMA读配置信息,从所述第二输入特征图对应的起始地址开始,读取所述第二输入特征图中的每个第二数据。39.根据权利要求19所述的方法,其特征在于,所述根据所述第二DMA写配置信息,将读取的第二数据输出给运算逻辑,包括:根据所述第二DMA写配置信息,从所述运算逻辑对应的第二入口地址开始,将读取的每个第二数据输出给所述运算逻辑。40.根据权利要求39所述的方法,其特征在于,所述运算逻辑用于对第一数据和第二数据进行element-wise运算或者BatchNormalization运算。41.根据权利要求19所述的方法,其特征在于,所述确定第三DMA读配置信息和第三DMA写配置信息,包括:根据所述第一输入特征图的宽度W和高度H,生成所述第三DMA读配置信息中的X方向计数配置;根据预设数值生成所述第三DMA读配置信息中的Y方向计数配置、X方向步幅配置和Y方向步幅配置;根据所述第一输入特征图的宽度W生成所述第三DMA写配置信息中的X方向计数配置;根据所述第一输入特征图的高度H生成所述第三DMA写配置信息中的Y方向计数配置;根据预设数值生成所述第三DMA写配置信息中的X方向步幅配置和Y方向步幅配置。42.根据权利要求41所述的方法,其特征在于,所述第三DMA读配置信息包括:X方向计数配置:W*H;Y方向计数配置:0;X方向步幅配置:0;Y方向步幅配置:0;所述第三DMA写配置信息包括:X方向计数配置:W;Y方向计数配置:H;X方向步幅配置:1;Y方向步幅配置:1。43.根据权利要求19所述的方法,其特征在于,所述确定第三DMA读配置信息和第三DMA写配置信息,包括:根据所述第一输入特征图的宽度W、高度H和通道数N,生成所述第三DMA读配置信息中的X方向计数配置;根据预设数值生成所述第三DMA读配置信息中的Y方向计数配置、X方向步幅配置、Y方向步幅配置、Z方向计数配置、Z方向步幅配置;根据所述第一输入特征图的宽度W生成所述第三DM...

【专利技术属性】
技术研发人员:赵尧李似锦谷骞
申请(专利权)人:深圳市大疆创新科技有限公司
类型:发明
国别省市:广东,44

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

1