7种深度学习工具介绍

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7种深度学习工具介绍相关的知识,希望对你有一定的参考价值。

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 可移植嵌入到iosandroid和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上尽可能快地运行。


本文出自 “中科院计算所培训” 博客,谢绝转载!

以上是关于7种深度学习工具介绍的主要内容,如果未能解决你的问题,请参考以下文章

深度盘点:详细介绍机器学习中的7种交叉验证方法!

深度学习系列 Part

AI常用框架和工具丨7. 深度学习框架Keras

深度学习中的规范化(BNLN等四种规范化)

AI常用框架和工具丨7. 深度学习框架Keras

深度学习神经网络介绍