【技术实现步骤摘要】
一种基于FPGA的卷积神经网络实现方法及装置
本专利技术属于计算机领域,尤其涉及一种基于FPGA的卷积神经网络实现方法及装置。
技术介绍
FPGA,即现场可编程门阵列,是一种高速、高密度的半定制IC芯片。原厂(如XILINX、ALTERA、LATTICE等)生产出的是空白的不含配置信息的FPGA芯片,用户可根据自己的需要,利用片上所提供的各种资源开发自己的逻辑,将生成的配置信息写入,从而将其变成自己所需功能的芯片,FPGA可近乎不限次数反复重配。不同于CPU的是,FPGA上的所有逻辑资源都可以以自己的时钟频率并行运行,所以很适合高计算密度算法的实现。卷积神经网络(CNN)是人工神经网络的一种,广泛应用于图像分类、目标识别、行为识别、语音识别、自然语言处理和文档分类等领域。近几年来,随着计算机计算能力的增长以及神经网路结构的发展,CNN的网络性能和识别准确度都有了很大的提高。但与此同时,网络的深度不断加深,网络的计算量也越来越大,因此需要GPU、FPGA等并行计算设备来加速运算。传统的FPGA开发都是使用VHDL/Verilog等硬件描述语言实现,其可以充分利用FP ...
【技术保护点】
一种基于FPGA的卷积神经网络实现方法,其特征在于,包括以下步骤:基于FPGA实现的卷积神经网络中的多层之间串行处理、通过全局存储器进行数据交互;使用OpenCL编程语言在所述FPGA上实现所述卷积神经网络的处理过程。
【技术特征摘要】
1.一种基于FPGA的卷积神经网络实现方法,其特征在于,包括以下步骤:基于FPGA实现的卷积神经网络中的多层之间串行处理、通过全局存储器进行数据交互;使用OpenCL编程语言在所述FPGA上实现所述卷积神经网络的处理过程。2.根据权利要求1所述的方法,其特征在于,所述卷积神经网络中每一层的处理过程包括:使用多线程OpenCL核从所述全局存储器中并行读取多个卷积操作处理的数据;使用单线程OpenCL核依次对所述卷积操作处理的数据进行卷积和激活操作;使用单线程OpenCL核依次对经过卷积和激活操作的数据进行池化操作;使用多线程OpenCL核向所述全局存储器写入经过池化操作的数据。3.根据权利要求2所述的方法,其特征在于,所述卷积神经网络中每一层的数据处理结果通过Channel进行传递;对每层的输入数据和输出数据均进行向量化处理。4.根据权利要求2所述的方法,其特征在于,并行从所述全局存储器读取多个卷积操作处理的数据、串行对多个所述卷积操作处理的数据进行卷积和激活操作、串行对所述数据进行池化操作、并行向所述全局存储器写入经过池化操作的数据。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述卷积神经网络的模型包括以下任意一种:LeNet,AlexNet,VGG-Net,GoogLeNet,ResNet。6.一种基于FPGA的卷积神经网络实现装置,...
【专利技术属性】
技术研发人员:景璐,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。