随着深度学习技术的逐步兴起,世界范围内支持深度学习的框架也如雨后春笋。那些各大学实验室制作出来的不出名的小项目就不必提了,单说现在在业界使用比较普遍的框架就有TensorFlow、Caffe、Theano、Torch等不下十种。
TensorFlow
TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU)、服务器、移动设备等。
Caffe
卷积神经网络框架,专注于卷积神经网络和图像处理,是用C++语言写成的,执行速度非常快。
Chainer
一个强大、灵活、直观的机器学习Python软件库,能够在一台机器上利用多个GPU,由深度学习创业公司Preferred Networks开发,在Github上有相当数量的项目;Chainer的设计基于“define by run”原则,也就是说,该网络在运行中动态定义,而不是在启动时定义,这也是该框架的一大亮点。
CNTK
CNTK(Computational Network ToolKit)是微软研究人员开发的用于深度神经网络和多GPU加速技术的完整开源工具包。微软称CNTK在语音和图像识别方面,比谷歌的TensorFlow等其他深度学习开源工具包更有优势。
Deeplearning4j
专注于神经网络的Java库,可扩展并集成Spark、Hadoop和其他基于Java的分布式集成软件。
Nervana Neo
是一个高效的Python机器学习库,它能够在单个机器上使用多个GPU。
Theano
是一个用Python编写的极其灵活的Python机器学习库,用它定义复杂的模型相当容易,因此它在研究中极其流行。
Torch
是一个专注于GPU实现的机器学习库,得到了像Facebook、谷歌、Twitter这样的大公司的研究团队的支持。