1)TensorFlow
 
  TensorFlow是Google基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。
 
  –Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从图像的一端流动到另一端的计算过程。
 
  –TensorFlow是将复杂的数据结构,传输至人工智能神经网中进行分析和处理过程的系统。
 
  TensorFlow表达了高层次的机器学习计算,可被用于语音识别或图像识别等多项机器深度学习领域。
 
  –TensorFlows对2011年开发的深度学习基础架构DistBelief进行了各方面的改进,可在小到一部智能手机,大到数千台数据中心服务器的各种设备上运行。
 
  –TensorFlow完全开源。
 
 
  2)Caffe
 
  Caffe是一个清晰而高效的深度学习框架,作者是毕业于UC Berkeley的贾扬清。
 
  –Caffe的全称应该是Convolutional Architecture for Fast Feature Embedding,
 
  –它是开源的,核心语言是C++,支持命令行、Python和MATLAB接口
 
  –既可以在CPU上运行也可以在GPU上运行。License是BSD 2-Clause。
 
  –Caffe可以应用在视觉、语音识别、机器人、神经科学和天文学领域。
 
 
  3)Torch
 
  Torch已有十多年,是一个广泛支持机器学习算法的科学计算框架,具有简单和快速的脚本语言LuaJIT和底层C/CUDA实现, Facebook开源了Torch深度学习库包
 
  Torch的特点:
 
  –1具有强大的n维数组;
 
  –2具有丰富的索引、切片和transposing的例程
 
  –3通过LuaJIT的C接口:
 
  –4线性代数例程;
 
  –5基于能量的神经网络模型;
 
  –6数值优化例程;
 
  –7支持快速高效的GPU;
 
  –8 可移植嵌入到iOS、Android和FGPA平台。
 
 
  4)Keras
 
  Keras是一个简约的、高度模块化的神经网络库,是基于Theano的一个深度学习框架,其设计参考了Torch,用Python语言编写,支持GPU和CPU,其特点为:
 
  –(1)使用简单,能够快速实现原理;
 
  –(2)支持卷积网络和递归网络,以及两者的组合;
 
  –(3)无缝运行在CPU和GPU上:
 
  –(4)支持任意连接方式,包括多输入多输出训练。
 
  Keras库与其他采用Theano库的区别是:
 
  –编码风格非常简约、清晰。它把所有的要点使用小类封装起来,能够很容易地组合在一起,并创造出一种全新的模型。
 
 
  5)MXNet
 
  MXNet是一个轻量化分布式可移植的深度学习计算平台,它支持多机多节点、多GPU的计算
 
  –openMP+MPI/SSH+Cuda/Cudnn的框架的计算速度很快,且能够与分布式文件系统结合,实现大数据的深度学习。MXNet支持从单机到多GPU.多集群的计算能力
 
  MXNet特点如下:
 
  –(1)基于赋值表达式建立计算图;
 
  –(2)支持内存管理,并对两个不交叉的变量重复使用同一内存空间;
 
  –(3)使用C++实现,并提供C风格的头文件。支持Python、R、Julia、Go和JavaScript;
 
  –(4)支持Torch;
 
  –(5)支持移动设备端发布。
 
 
  6)CNTK
 
  CNTK ( Computational Network Toolkit)是微软用于搭建深度神经网络的计算网络工具包,已在Github开源
 
  –CNTK有一套极度优化的运行系统,来训练和测试神经网络,它以抽象的计算图形式构建的。
 
  –CNTK支持CPU和GPU模型。
 
  –CNTK支持两种方式来定义网络:一种是使用“Simple Network Builder”,通过设置少量参数,就能生成一个的标准神经网络;另一种是使用网络定义语言(NDL)。
 
  –CNTK相比Caffe、Theano. TensoFlow等主流工具性能更强,灵活性也要好,可扩展性高。
 
  –CNTK支持CNN. LSTM. RNN等流行的网络结构,支持CPU和GPU模式,但CNTK目前Bug比较多。
 
 
  7)Theano
 
  Theano是BSD许可证下发布的一个开源项目,是由LISA(现MILA)在加拿大魁北克的蒙特利尔大学,开发的基于Python的深度学习框架
 
  –专门用于定义、优化、求值数学表达式,其效率比较高,适用于多维数组。
 
  –Python的核心Theano是一个数学表达式的编译器。Theano获取用户数据结构
 
  –使之成为一个使用Numpy、高效本地库的非常高效的代码,并能在CPU或GPU上尽可能快地运行。