基于TensorFlow的神经网络处理器编程框架

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:wskwugxk
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
人工神经网络是计算机科学家借鉴大脑神经元的组织方式构建的一类算法的总称,在模式识别以及机器学习等领域发挥了巨大作用。以深度置信网络(Deep BeliefNetworks)与卷积神经网络(Convolutional Neural Network)为代表的深度学习,更是当前工业界和学术界聚焦的热点。值得注意的是,随着算法复杂度的增加,深度学习的网络规模呈爆炸性增长趋势,对于强调低功耗低成本的移动终端来说,代价过于高昂,计算机硬件已经成为深度学习技术发展的一个关键瓶颈。寒武纪深度学习处理器(以下简称神经网络处理器),通过定制专用的运算部件、设计高效的片上存储,有效地提高了处理器的运算、访存效率,从而获得相对通用处理器数量级提升的性能优势,在学术界和工业界获得了广泛关注。  为了推动神经网络处理器走向业界应用,编程框架的设计是一项极有意义的工作。本文基于Google开源的TensorFlow深度学习软件框架,设计了一款高效、灵活的面向神经网络处理器的编程框架,主要工作集中于三个方面:  1.设计实现了一条高速、可靠的PCIe软件数据通路,实现了神经网络处理器与CPU的高效互联。  2.实现了神经网络处理器的内存管理、数据交互运行库,将TensorFlow移植到神经网络处理器上,用户可以使用TensorFlow,开发面向神经网络处理器的应用程序。  3.基于神经网络处理器的结构特点,优化软件算法的数据处理、TensorFlow的算法执行流图,重组软件神经网络图结构,提高处理器调用效率。通过上述软硬件协同优化,改进后的TensorFlow框架,在神经网络处理器上,针对Lenet网络,相比CPU与GRID K520 GPU平台,分别获得2倍与1.5倍的加速比。  本文最后对基于TensorFlow的神经网络编程框架进行实验评估。对于几种典型的神经网络算法,在GPU、CPU、以及神经网络处理器上进行不同的实验对比,评估运算性能、功耗。实验结果表明本文所实现的编程框架可以有效地应用于神经网络处理器,并且通过编程框架的优化,有效提高了处理器调用效率,极大提高了神经网络算法的性能。
其他文献
学位
矿井安全生产成为制约我国煤矿发展的重要问题。矿用运输控制系统对于煤矿安全生产至关重要。随着通信技术的发展,网络通信技术不断应用到矿井生产之中,矿井生产逐步实现了信息
S盒首次出现在Lucifer算法中,随后因DES的使用而广为流行。S盒是许多分组密码算法中唯一的非线性部件,它的密码强度决定了整个密码算法的安全强度,它的工作速度决定了整个算
学位
学位
学位
学位
随着互联网的快速发展,网络的复杂性与异构性也不断提高,具体表现在以下几个方面:网络及其中传输的流量规模不断扩大;网络元素间的连接关系日益复杂;网络应用种类呈多元化发展
近年来,随着计算机技术的成熟和网络的发展,工作流管理系统也的应用得到迅速发展,工作流管理系统的类型已经从集中式系统发展到分布式系统,从结构化要求发展到非结构化,从任务推动
学位