基于Caffe的嵌入式多核处理器 深度学习框架并行实现
2018-06-21高榕张良梅魁志
高榕,张良,梅魁志
(西安交通大学电子与信息工程学院,710049,西安)
深度学习在图像处理、自动控制和智能机器人等方面表现出了良好的应用潜力,已经被广泛应用到物体识别、手势控制等诸多方面。目前,深度学习技术不再局限于各机构的基础理论研究,已经形成了较为成熟的应用系统,例如人脸检票系统、自动阅卷系统以及交通监控系统等。智能移动终端在当今互联网时代背景下应用愈加广泛。随着便携设备的不断发展,人们对其能够提供智能、稳定、高速的应用需求与日俱增。将深度学习技术应用于嵌入式设备中,用以改善用户体验并提高软件智能,具有重要的现实意义。
卷积神经网络是深度学习算法的基础,Caffe(Convolutional architecture for fast feature embedding)[1]和TensorFlow[2]是目前应用范围最广、生命力最活跃的学习框架。Caffe结构清晰、可读性高,主体以C++代码编写,硬件兼容性好,同时有着丰富的线上资源和活跃的开发社区,因此被广泛采用。
ARM嵌入式处理器是当前移动设备主要的处理器,最新的Samsung Exynos 8895、Qualcomm Snapdragon 835以及Apple A10 CPU主频可达2 GHz以上。深度学习算法在嵌入式终端的实现和加速是目前机器学习与人工智能领域的研究热点。当前性能高的移动端深度学习框架有Facebook的Caffe2[3]、腾讯的ncnn[4]和百度的MDL[5]。Caffe2基于Caffe开发,代码结构与TensorFlow更为类似,以轻量化、模块化和张量化为特点,强调多平台支持性和移动端高效性,但目前Caffe2尚未成熟,仅支持部分嵌入式GPU;ncnn支持多种神经网络结构,不依赖第三方数学计算库,具有极为精简的代码体积和高效的汇编级优化,但不支持异构计算;MDL旨在简化卷积神经网络的部署难度,体积小、速度快,仅支持iOS GPU。……
