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

简介: 「技术选型」深度学习软件如何选择?

深度学习(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 模型

预处理和后处理 用于调整和校准的运行时配置 款模型互连 通用平台
TensorFlowKerasCaffeTorchONNX, 算法训练 No

没有/单

独的文件

在大多数格式

No No No Yes
ONNX 算法训练 Yes

没有/单

独的文件在大多数格式

No No No Yes


相关文章
|
机器学习/深度学习 算法 数据可视化
智能扑克牌识别软件(Python+YOLOv5深度学习模型+清新界面)
智能扑克牌识别软件(Python+YOLOv5深度学习模型+清新界面)
992 0
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
软件工程师,入门下深度学习吧
软件工程师,入门下深度学习吧
65 9
|
6月前
|
机器学习/深度学习 存储 监控
基于YOLOv8的多目标检测与自动标注软件【python源码+PyqtUI界面+exe文件】【深度学习】
基于YOLOv8的多目标检测与自动标注软件【python源码+PyqtUI界面+exe文件】【深度学习】
|
6月前
|
机器学习/深度学习 算法 数据可视化
【深度学习实战】基于深度学习的图片风格快速迁移软件(Python源码+UI界面)
【深度学习实战】基于深度学习的图片风格快速迁移软件(Python源码+UI界面)
|
机器学习/深度学习 监控 算法
利用BP算法优化企业电脑监控软件:一览深度学习在安全防护中的崭新应用
不知道大家有没有听说过BP(Backpropagation)神经网络算法,听上去比较高级,但其实也是挺酷的!而且BP算法还可以在企业电脑监控软件方面大显身手哦。想知道怎么玩转它吗?别担心,接下来咱们就用通俗易懂的语言来了解一下BP算法在企业电脑监控软件中的作用——
116 0
|
机器学习/深度学习 Java Linux
「技术选型」深度学习软件选择
「技术选型」深度学习软件选择
|
机器学习/深度学习 人工智能 自然语言处理
「首席架构师推荐」深度学习软件比较
「首席架构师推荐」深度学习软件比较
|
机器学习/深度学习 传感器 数据可视化
交通信号标志识别软件(Python+YOLOv5深度学习模型+清新界面)
交通信号标志识别软件(Python+YOLOv5深度学习模型+清新界面)
621 0
|
机器学习/深度学习 数据可视化 安全
机场航拍图像检测软件(Python+YOLOv5深度学习模型+清新界面)
机场航拍图像检测软件(Python+YOLOv5深度学习模型+清新界面)
435 0
|
14天前
|
机器学习/深度学习 传感器 数据采集
深度学习在故障检测中的应用:从理论到实践
深度学习在故障检测中的应用:从理论到实践
63 5
下一篇
DataWorks