栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

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

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

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

Deep-learning software by name
软件Apache MXNetApache SINGABigDLCaffe
创建者Apache  Software FoundationApache Software  FoundationJason  Dai (Intel)Berkeley  Vision and Learning Center
初始版本2015201520162013
软件许可证Apache 2.0Apache 2.0Apache 2.0BSD
开源YesYesYesYes
平台Linux, macOS, Windows,[37][38] AWS, Android,[39] iOS, JavaScript[40]Linux, macOS, WindowsApache  SparkLinux, macOS, Windows[2]
编写语言Small C++ core  libraryC++ScalaC++
接口C++, Python, Julia, Matlab, JavaScript, Go, R, Scala, Perl, ClojurePython, C++, JavaScala,  PythonPython, MATLAB, C++
OpenMP 支持YesNo
Yes
OpenCL 支持On roadmap[41]Supported  in V1.0
Under development[3]
CUDA 支持YesYesNoYes
自动分化Yes[42]?
Yes
预训练模型Yes[43]YesYesYes[4]
RNNYesYesYesYes
CNNYesYesYesYes
RBM/DBNsYesYes
No
并行执行(多节点)Yes[44]Yes
?
积极发展Yes

No[5]
软件ChainerDeeplearning4jDlibFlux
创建者Preferred  NetworksSkymind  engineering team; Deeplearning4j community; originally Adam GibsonDavis  KingMike  Innes
初始版本2015201420022017
软件许可证BSDApache 2.0Boost Software  LicenseMIT license
开源YesYesYesYes
平台Linux, macOSLinux, macOS, Windows, Android (Cross-platform)Cross-platformLinux, MacOS, Windows (Cross-platform)
编写语言PythonC++, JavaC++Julia
接口PythonJava, Scala, Clojure, Python (Keras), KotlinC++Julia
OpenMP 支持NoYesYes
OpenCL 支持NoNo[7]No
CUDA 支持YesYes[8][9]YesYes
自动分化YesComputational  GraphYesYes
预训练模型YesYes[10]YesYes[12]
RNNYesYesNoYes
CNNYesYesYesYes
RBM/DBNsNoYesYesNo
并行执行(多节点)YesYes[11]YesYes
积极发展No[6]

Yes
软件

Intel

 Math  

Kernel 

Library

KerasMATLAB +  Deep Learning ToolboxMicrosoft  Cognitive Toolkit (CNTK)Neural Designer
创建者IntelFrançois  CholletMathWorksMicrosoft ResearchArtelnics
初始版本
2015
2016
软件许可证ProprietaryMIT licenseProprietaryMIT  license[26]Proprietary
开源NoYesNoYesNo
平台Linux, macOS, Windows on Intel CPU[14]Linux, macOS, WindowsLinux, macOS, WindowsWindows, Linux[27] (macOS via Docker on roadmap)Linux, macOS, Windows
编写语言
PythonC, C++, Java, MATLABC++C++
接口C[15]Python, RMATLABPython (Keras), C++, Command line,[28] BrainScript[29] (.NET on roadmap[30])Graphical user  interface
OpenMP 支持Yes[16]Only  if using Theano as backendNoYes[31]Yes
OpenCL 支持NoCan  use Theano, Tensorflow or PlaidML as backendsNoNoNo
CUDA 支持NoYesTrain with Parallel  Computing Toolbox and generate CUDA code with GPU Coder[21]YesNo
自动分化YesYesYes[22]Yes?
预训练模型NoYes[18]Yes[23][24]Yes[32]?
RNNYes[17]YesYes[23]Yes[33]No
CNNYes[17]YesYes[23]Yes[33]No
RBM/DBNs
No[19]YesNo[34]No
并行执行(多节点)NoYes[20]With Parallel  Computing Toolbox[25]Yes[35]?
积极发展
YesYesNo[36]
软件OpenNNPlaidMLPyTorchTensorFlow
创建者ArtelnicsVertex.AI,IntelAdam  Paszke, Sam Gross, Soumith Chintala, Gregory Chanan (Facebook)Google Brain
初始版本2003201720162015
软件许可证GNU LGPLAGPLBSDApache 2.0
开源YesYesYesYes
平台Cross-platformLinux, macOS, WindowsLinux, macOS, WindowsLinux, macOS, Windows,[47] Android
编写语言C++Python, C++, OpenCLPython, C, C++, CUDAC++, Python, CUDA
接口C++Python, C++Python, C++, JuliaPython (Keras), C/C++, Java, Go, JavaScript, R,[48] Julia, Swift
OpenMP 支持Yes?YesNo
OpenCL 支持NoSome  OpenCL ICDs are not recognizedVia  separately maintained package[45][46][46]On  roadmap[49] but already with SYCL[50] support
CUDA 支持YesNoYesYes
自动分化?YesYesYes[51]
预训练模型?YesYesYes[52]
RNNNoYesYesYes
CNNNoYesYesYes
RBM/DBNsNo

Yes
并行执行(多节点)?YesYesYes
积极发展
YesYesYes
软件TheanoTorchWolfram  Mathematica
创建者Université de  MontréalRonan  Collobert, Koray Kavukcuoglu, Clement FarabetWolfram Research
初始版本200720021988
软件许可证BSDBSDProprietary
开源YesYesNo
平台Cross-platformLinux, macOS, Windows,[58] Android,[59] iOSWindows, macOS, Linux, Cloud computing
编写语言PythonC, LuaC++, Wolfram Language, CUDA
接口Python (Keras)Lua, LuaJIT,[60] C,  utility library for C++/OpenCL[61]Wolfram Language
OpenMP 支持YesYesYes
OpenCL 支持Under development[53]Third  party implementations[62][63]No
CUDA 支持YesYes[64][65]Yes
自动分化Yes[54][55]Through Twitter's Autograd[66]Yes
预训练模型Through Lasagne's  model zoo[56]Yes[67]Yes[68]
RNNYesYesYes
CNNYesYesYes
RBM/DBNsYesYesYes
并行执行(多节点)Yes[57]Yes[58]Yes[69]
积极发展NoNoYes
  • ^许可证这里是一个摘要,并不是完整的许可证声明。一些库可能在不同的许可证下在内部使用其他库

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

Format Name设计目标与其他格式比较

自包含

 DNN 模型

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

没有/单

独的文件

在大多数格式

NoNoNoYes
ONNX算法训练Yes

没有/单

独的文件在大多数格式

NoNoNoYes
本文http://jiagoushi.pro/wikipedia-comparison-deep-learning-software
讨论:知识星球【首席架构师圈】或者加微信小号【cea_csa_cto】或者加QQ群【792862318】
公众号

【jiagoushipro】
【超级架构师】
精彩图文详解架构方法论,架构实践,技术原理,技术趋势。
我们在等你,赶快扫描关注吧。
微信小号

【cea_csa_cto】
50000人社区,讨论:企业架构,云计算,大数据,数据科学,物联网,人工智能,安全,全栈开发,DevOps,数字化.

QQ群

【792862318】深度交流企业架构,业务架构,应用架构,数据架构,技术架构,集成架构,安全架构。以及大数据,云计算,物联网,人工智能等各种新兴技术。
加QQ群,有珍贵的报告和干货资料分享。

视频号【超级架构师】
1分钟快速了解架构相关的基本概念,模型,方法,经验。
每天1分钟,架构心中熟。

知识星球向大咖提问,近距离接触,或者获得私密资料分享。知识星球【首席架构师圈】
喜马拉雅路上或者车上了解最新黑科技资讯,架构心得。【智能时刻,架构君和你聊黑科技】
知识星球认识更多朋友,职场和技术闲聊。知识星球【职场和技术】
微博【智能时刻】智能时刻
哔哩哔哩【超级架构师】
抖音【cea_csa_cto】超级架构师
快手【cea_csa_cto】超级架构师
小红书【cea_csa_cto】超级架构师首席架构师智库



谢谢大家关注,转发,点赞和点在看。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/938430.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号