摘要
深度学习在计算机视觉领域大放异彩,许多在传统方法下无法解决的问题正在被一一攻克。然而,高昂的计算成本也极大地限制了深度学习的使用,在移动端设备、嵌入式设备等计算资源比较拮据的平台上其计算密集的特性尤为突出。本文对现阶段,工业界所使用的深度学习推断阶段的软件操作库、计算框架等,做了充分调研,由底向上勾勒出深度学习推断阶段的技术轮廓。本文主要工作如下:
- 总结深度学习推断阶段的主要操作,指出其性能瓶颈所在;
- 从软件库层面总结现阶段可用的开源库;
- 对比各层次的软件库,做出总结。
深度学习推断的主要操作
对于大部分的卷积神经网络而言,卷积层是最消耗时间的部分,而全连接层则是参数量最多的部分[2]。 如下图所示[10]为 2012 年获得imagenet冠军的深度神经网络结构Alexnet分别在GPU和CPU进行推断的性能benchmark,由图可以看出,在CPU上卷积层和全连接层占用了95%的计算时间,而在CPU上卷积层和全连接层占用了89%的时间,如何高效地进行卷积层和全连接层的计算成为提升深度学习推断性能的关键点。