【技术实现步骤摘要】
一种卷积神经网络的数据调度方法及装置
本申请涉及现场可编程门阵列FPGA硬件加速领域,尤其涉及一种卷积神经网络的数据调度方法及装置。
技术介绍
卷积神经网络(ConvolutionalNeuralNetwork,CNN)是一种常见的深度学习架构,受生物自然视觉认知机制启发而来。20世纪90年代,LeCunetal等人发表论文,确立了CNN的现代架构。CNN能够得出原始图像的有效表征,这使得CNN能够直接从原始像素中,经过极少的预处理,识别视觉上面的规律。然而,由于当时缺乏大规模训练数据,计算机的计算能力也跟不上,CNN对于复杂问题的处理结果并不理想。进入二十一世纪,随着计算机能力的大幅度提升,以及大数据的广泛应用,CNN的应用能力取得了重大突破,同时,CNN的平台也从中央处理器(CentralProcessingUnit,CPU)扩展到了图形处理器(GraphicProcessingUnit,GPU)、现场可编程门阵列(FieldProgrammbleGateArray,FPGA),或专用集成电路(ApplicationSpecificIntegratedCirc ...
【技术保护点】
1.一种卷积神经网络的数据调度方法,其特征在于,包括:确定N组权重数据的第一存储地址;根据所述第一存储地址,从第i个权重缓存器中读取所述N组权重数据;其中,所述第一存储地址为(rd_hcnt‑1)+RD_HCNT_VALUE_TEMP*(rd_vcnt‑1)+addr_temp1;rd_vcnt用于表征当前卷积核为N个卷积核中的第几个卷积核,rd_hcnt用于表征所述当前卷积核对应的第几个权重数据,RD_HCNT_VALUE_TEMP用于计算所述当前卷积核的权重数据的存储首地址,addr_temp1用于确定N个卷积核中每个卷积核的需要被读取的第一个权重数据的存储地址,i为0 ...
【技术特征摘要】
1.一种卷积神经网络的数据调度方法,其特征在于,包括:确定N组权重数据的第一存储地址;根据所述第一存储地址,从第i个权重缓存器中读取所述N组权重数据;其中,所述第一存储地址为(rd_hcnt-1)+RD_HCNT_VALUE_TEMP*(rd_vcnt-1)+addr_temp1;rd_vcnt用于表征当前卷积核为N个卷积核中的第几个卷积核,rd_hcnt用于表征所述当前卷积核对应的第几个权重数据,RD_HCNT_VALUE_TEMP用于计算所述当前卷积核的权重数据的存储首地址,addr_temp1用于确定N个卷积核中每个卷积核的需要被读取的第一个权重数据的存储地址,i为0到M中的任一整数,M为权重缓存器的个数,N由M及卷积核的个数确定,所述N组权重数据中的一组权重数据对应一个卷积核,所述N组权重数据分别存储在所述第i个权重缓存器中的N个存储区域,N和M均为大于零的整数。2.根据权利要求1所述的方法,其特征在于,对图像数据的首尾两行:rd_hcnt=1~WEIGHTS_H*(WEIGHTS_V-1)*WEIGHTS_S/32,RD_HCNT_VALUE_TEMP=WEIGHTS_H*(WEIGHTS_V-1)*WEIGHTS_S/32;或对所述图像数据的除所述首尾两行外的中间行:rd_hcnt=1~WEIGHTS_H*WEIGHTS_V*WEIGHTS_S/32,RD_HCNT_VALUE_TEMP=1~WEIGHTS_H*WEIGHTS_V*WEIGHTS_S/32;其中,WEIGHTS_H用于表征卷积核的高度;WEIGHTS_V用于表征卷积核的宽度;WEIGHTS_S用于表征卷积核的深度。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:确定与卷积核的大小相同的待卷积的图像数据的第二存储地址;根据所述第二存储地址,从图像缓存器中读取所述待卷积的图像数据;其中,所述第二存储地址为(rd_scnt-1)+Image_Z/32*(rd_wcnt-1)+(Image_W+2)*Image_Z/32*(rd_kcnt-1)+Image_Z/32*(rd_fcnt-1)*S+(img_vcounter-1)*(WEIGHTS_V-1)*Image_Z/32-addr_temp2;其中,Image_W用于表征图像数据的宽度,Image_Z用于表征图像数据的深度,S用于表征步长,rd_scnt用于表征所述待卷积的图像数据为第几个通道中的数据,rd_wcnt用于表征所述待卷积的图像数据为第几列中的数据,rd_kcnt用于表征所述待卷积的图像数据为第几行中的数据,rd_fcnt用于表征总的卷积次数,img_vcounter用于表征当前卷积的开始行为第几行,addr_temp2用于计算所述待卷积的图像数据的第一个图像数据的存储地址。4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:从外部存储器中读取权重数据;将所述权重数据按照第三存储地址,存储到M个权重缓存器中;其中,所述第三存储地址为(wr_hcnt-1)+WEIGHTS_S/32*WEIGHTS_H*WEIGHTS_V*(wr_vcnt-1)+16*(wr_scnt-1);wr_scnt用于表征当前卷积核为N个卷积核中的第几个卷积核,wr_hcnt用于表征所述当前卷积核对应的第几个权重数据,wr_vcnt用于表征所述当前卷积核的权重数据应存储的权重缓存器为M个权重缓存器中的第几个权重缓存器。5.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:从外部存储器中读取图像数据;将所述图像数据按照第四存储地址,存储到图像缓存器;其中,第四存储地址为wr_addr_temp+wr_vcnt*Image_Z/32*2-Image_Z/32;wr_addr_temp用于表征当前图像数据为第几个图像数据,wr_vcnt用于表征所述当前图像数据所在的层数。6.一种数据调度装置,其...
【专利技术属性】
技术研发人员:陈海波,
申请(专利权)人:深兰人工智能芯片研究院江苏有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。