目前深度学习领域中,主要的框架有:

  • TensorFlow

  • Caffe/Cafe2

  • Torch/PyTorch

  • Keras

  • MxNet

  • Deeplearning4j等

 


 

1. Torch

PyTorch是Torch7团队开发的。PyTorch的前身就是Torch,它的底层和Torch框架一样。

 

Torch的特点:特别灵活;

它的特殊之处是:用了编程语言Lua。

 

目前深度学习大部分都是以python为编程语言的,一个以lua为编程语言的框架,其实有先天的劣势,这种小众语言增加了学习使用Torch框架的成本。

PyTorch可以说是torch的python版,然后也增加了很多新的特性。

 


 

2.TensorFlow

TensorFlow:是一种流行的机器学习和深度学习框架。

它是由 Google Brain 团队为深度神经网络(DNN)开发的开源软件库,在 2015 年 11 月首次发布。

TensorFlow 可以训练和运行很多的深度神经网络,比如:图像识别、手写数字分类、循环神经网络、词嵌入、自然语言处理等。

TensorFlow这个词是由两个词组成的,Tensor和Flow:

  • Tensor是一个多维数组;
  • Flow用于定义操作中的数据流。

TensorFlow :就是用于定义在多维数组或 Tensor 上运行的数据流。


 

3. Caffe

Convolutional Architecture for Fast Feature Embedding,用于快速特征嵌入的卷积架构)

它是一个深度学习框架,核心语言是C++,它支持命令行、Python和Matlab接口。

它的开发者贾扬清,在加州大学伯克利分校,攻读博士期间创建了Caffe项目。

Caffe支持多种类型的深度学习架构,比如:CNN、RCNN、LSTM等。

2018年的时候,Caffe2并入到了PyTorch里面。


 

4. Keras

Keras 在 2015 年 3 月首次发布,然后因为它的易用性和语法简洁性,非常受欢迎,得到快速的发展。Keras是基于Theano和TensorFlow的深度学习库,有较为直观的API,可能是目前最好的Python API。

Keras 是谷歌支持的一款框架。

 

5.MxNet

它提供多种API的机器学习框架。

主要面向R、Python和Julia等语言。

相比来说,上手比较快,目前已被亚马逊云服务采用。

 

6. Deeplearning4j

DeepLearning4J(DL4J):是一套基于Java语言的神经网络工具包,可以构建神经网络。

通过Hadoop、Spark、Hive、Lucene等开源系统扩展可实现无缝集成,具有良好的生态环境支持。提供了强大的科学计算库ND4J,可以分布式运行于CPU或GPU上,可通过Java或Scala进行API对接,可以快速应用CNN、RNN等模型进行图像分类,支持任意芯片数的GPU并行运行,支持在多个GPU集群上运行。 

DL4J还提供了实时的可视化界面,可以在模型训练过程中查看网络状态和进展情况。

 

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐