前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >「技术选型」深度学习软件选择

「技术选型」深度学习软件选择

作者头像
首席架构师智库
发布2020-09-08 10:40:30
8260
发布2020-09-08 10:40:30
举报
文章被收录于专栏:超级架构师超级架构师

深度学习(DL, Deep Learning)是机器学习(ML, Machine Learning)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能(AI, Artificial Intelligence)。

深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。 [1]

深度学习在搜索技术,数据挖掘,机器学习,机器翻译,自然语言处理,多媒体学习,语音,推荐和个性化技术,以及其他相关领域都取得了很多成果。深度学习使机器模仿视听和思考等人类的活动,解决了很多复杂的模式识别难题,使得人工智能相关技术取得了很大进步。 [1]

下表比较了用于深度学习的著名软件框架、库和计算机程序。

Deep-learning software by name

软件

Apache MXNet

Apache SINGA

BigDL

Caffe

创建者

Apache Software Foundation

Apache Software Foundation

Jason Dai (Intel)

Berkeley Vision and Learning Center

初始版本

2015

2015

2016

2013

软件许可证

Apache 2.0

Apache 2.0

Apache 2.0

BSD

开源

Yes

Yes

Yes

Yes

平台

Linux, macOS, Windows,[37][38] AWS, Android,[39] iOS, JavaScript[40]

Linux, macOS, Windows

Apache Spark

Linux, macOS, Windows[2]

编写语言

Small C++ core library

C++

Scala

C++

接口

C++, Python, Julia, Matlab, JavaScript, Go, R, Scala, Perl, Clojure

Python, C++, Java

Scala, Python

Python, MATLAB, C++

OpenMP 支持

Yes

No

Yes

OpenCL 支持

On roadmap[41]

Supported in V1.0

Under development[3]

CUDA 支持

Yes

Yes

No

Yes

自动分化

Yes[42]

?

Yes

预训练模型

Yes[43]

Yes

Yes

Yes[4]

RNN

Yes

Yes

Yes

Yes

CNN

Yes

Yes

Yes

Yes

RBM/DBNs

Yes

Yes

No

并行执行(多节点)

Yes[44]

Yes

?

积极发展

Yes

No[5]

软件

Chainer

Deeplearning4j

Dlib

Flux

创建者

Preferred Networks

Skymind engineering team; Deeplearning4j community; originally Adam Gibson

Davis King

Mike Innes

初始版本

2015

2014

2002

2017

软件许可证

BSD

Apache 2.0

Boost Software License

MIT license

开源

Yes

Yes

Yes

Yes

平台

Linux, macOS

Linux, macOS, Windows, Android (Cross-platform)

Cross-platform

Linux, MacOS, Windows (Cross-platform)

编写语言

Python

C++, Java

C++

Julia

接口

Python

Java, Scala, Clojure, Python (Keras), Kotlin

C++

Julia

OpenMP 支持

No

Yes

Yes

OpenCL 支持

No

No[7]

No

CUDA 支持

Yes

Yes[8][9]

Yes

Yes

自动分化

Yes

Computational Graph

Yes

Yes

预训练模型

Yes

Yes[10]

Yes

Yes[12]

RNN

Yes

Yes

No

Yes

CNN

Yes

Yes

Yes

Yes

RBM/DBNs

No

Yes

Yes

No

并行执行(多节点)

Yes

Yes[11]

Yes

Yes

积极发展

No[6]

Yes

软件

Intel Math Kernel Library

Keras

MATLAB + Deep Learning Toolbox

Microsoft Cognitive Toolkit (CNTK)

Neural Designer

创建者

Intel

François Chollet

MathWorks

Microsoft Research

Artelnics

初始版本

2015

2016

软件许可证

Proprietary

MIT license

Proprietary

MIT license[26]

Proprietary

开源

No

Yes

No

Yes

No

平台

Linux, macOS, Windows on Intel CPU[14]

Linux, macOS, Windows

Linux, macOS, Windows

Windows, Linux[27] (macOS via Docker on roadmap)

Linux, macOS, Windows

编写语言

Python

C, C++, Java, MATLAB

C++

C++

接口

C[15]

Python, R

MATLAB

Python (Keras), C++, Command line,[28] BrainScript[29] (.NET on roadmap[30])

Graphical user interface

OpenMP 支持

Yes[16]

Only if using Theano as backend

No

Yes[31]

Yes

OpenCL 支持

No

Can use Theano, Tensorflow or PlaidML as backends

No

No

No

CUDA 支持

No

Yes

Train with Parallel Computing Toolbox and generate CUDA code with GPU Coder[21]

Yes

No

自动分化

Yes

Yes

Yes[22]

Yes

?

预训练模型

No

Yes[18]

Yes[23][24]

Yes[32]

?

RNN

Yes[17]

Yes

Yes[23]

Yes[33]

No

CNN

Yes[17]

Yes

Yes[23]

Yes[33]

No

RBM/DBNs

No[19]

Yes

No[34]

No

并行执行(多节点)

No

Yes[20]

With Parallel Computing Toolbox[25]

Yes[35]

?

积极发展

Yes

Yes

No[36]

软件

OpenNN

PlaidML

PyTorch

TensorFlow

创建者

Artelnics

Vertex.AI,Intel

Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan (Facebook)

Google Brain

初始版本

2003

2017

2016

2015

软件许可证

GNU LGPL

AGPL

BSD

Apache 2.0

开源

Yes

Yes

Yes

Yes

平台

Cross-platform

Linux, macOS, Windows

Linux, macOS, Windows

Linux, macOS, Windows,[47] Android

编写语言

C++

Python, C++, OpenCL

Python, C, C++, CUDA

C++, Python, CUDA

接口

C++

Python, C++

Python, C++, Julia

Python (Keras), C/C++, Java, Go, JavaScript, R,[48] Julia, Swift

OpenMP 支持

Yes

?

Yes

No

OpenCL 支持

No

Some OpenCL ICDs are not recognized

Via separately maintained package[45][46][46]

On roadmap[49] but already with SYCL[50] support

CUDA 支持

Yes

No

Yes

Yes

自动分化

?

Yes

Yes

Yes[51]

预训练模型

?

Yes

Yes

Yes[52]

RNN

No

Yes

Yes

Yes

CNN

No

Yes

Yes

Yes

RBM/DBNs

No

Yes

并行执行(多节点)

?

Yes

Yes

Yes

积极发展

Yes

Yes

Yes

软件

Theano

Torch

Wolfram Mathematica

创建者

Université de Montréal

Ronan Collobert, Koray Kavukcuoglu, Clement Farabet

Wolfram Research

初始版本

2007

2002

1988

软件许可证

BSD

BSD

Proprietary

开源

Yes

Yes

No

平台

Cross-platform

Linux, macOS, Windows,[58] Android,[59] iOS

Windows, macOS, Linux, Cloud computing

编写语言

Python

C, Lua

C++, Wolfram Language, CUDA

接口

Python (Keras)

Lua, LuaJIT,[60] C, utility library for C++/OpenCL[61]

Wolfram Language

OpenMP 支持

Yes

Yes

Yes

OpenCL 支持

Under development[53]

Third party implementations[62][63]

No

CUDA 支持

Yes

Yes[64][65]

Yes

自动分化

Yes[54][55]

Through Twitter's Autograd[66]

Yes

预训练模型

Through Lasagne's model zoo[56]

Yes[67]

Yes[68]

RNN

Yes

Yes

Yes

CNN

Yes

Yes

Yes

RBM/DBNs

Yes

Yes

Yes

并行执行(多节点)

Yes[57]

Yes[58]

Yes[69]

积极发展

No

No

Yes

  • ^许可证这里是一个摘要,并不是完整的许可证声明。一些库可能在不同的许可证下在内部使用其他库

机器学习模型的兼容性比较

Format Name

设计目标

与其他格式比较

自包含 DNN 模型

预处理和后处理

用于调整和校准的运行时配置

款模型互连

通用平台

TensorFlow, Keras, Caffe, Torch, ONNX,

算法训练

No

没有/单独的文件在大多数格式

No

No

No

Yes

ONNX

算法训练

Yes

没有/单独的文件在大多数格式

No

No

No

Yes


本文:https://pub.intelligentx.net/wikipedia-comparison-deep-learning-software

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 首席架构师智库 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Deep-learning software by name
相关产品与服务
机器翻译
机器翻译(Tencent Machine Translation,TMT)结合了神经机器翻译和统计机器翻译的优点,从大规模双语语料库自动学习翻译知识,实现从源语言文本到目标语言文本的自动翻译,目前可支持十余种语言的互译。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档