Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >BAT专家解读:如何选出最合适的深度学习框架?

BAT专家解读:如何选出最合适的深度学习框架?

作者头像
新智元
发布于 2019-05-08 09:13:14
发布于 2019-05-08 09:13:14
5480
举报
文章被收录于专栏:新智元新智元

新智元推荐

来源:AI前线(ID:ai-front)

整理 | Debra 编辑 | Natalie

【新智元导读】随着深度学习关注度和势头上升,深度学习被越来越多的企业和组织的生产实践结合起来。这时,无论是对于深度学习相关专业的初学者,还是已经在企业和组织中从事工业场景应用和研发的开发者来说,选择一个适合自己,适合业务场景需求的深度学习框架显得尤为重要。

对于不同学习阶段和不同岗位的开发者来说,什么样的深度学习框架才是适合自己的呢?为此,AI 前线邀请了来自BAT的深度学习框架专家解答这个疑问。

以下是选择深度学习框架时常见的几个问题:

目前,国内外有哪些主流的深度学习框架?分别有什么优缺点?

TensorFlow:谷歌大厂出品,社区资源丰富,用户群体广泛。如果你的业务是实现一个比较成熟的应用场景,选择 TensorFlow 是个不错的选择,毕竟大部分坑前人已经踩过了。如果你还是一名初学者,想要去实现全新的算法,那要慎重选择 TensorFlow,因其发展时间较久,代码库庞大,想要真正看懂它的代码会是一个不小的挑战。

PaddlePaddle:百度出品,跟 TF 类似,PaddlePaddle 也是在百度内部实际应用的工业框架。值得一提的是,PaddlePaddle 为大量工业级模型提供官方支持;大规模分布式训练技术能力强,支持大规模稠密参数和稀疏参数场景的并行训练;基于其中文文档友好、简单易上手的特点,社区活跃度不断提高。本土开发者中文交流非常方便。

PaddlePaddle 已经升级为全面的深度学习开发套件,除了核心框架,还开放了 VisualDL、PARL、AutoDL、EasyDL、AI Studio 等一整套的深度学习工具组件和服务平台,更好地满足不同层次的深度学习开发者的开发需求。18 年百度加大了生态投入,在工业制造、农林领域有不少案例,对于想要落地应用场景,特别是针对中文语言处理的场景和大规模推荐场景,PaddlePaddle 或许是个不错的选择。

PyTorch+Caffe2:脸书出品。PyTorch 前身是 Torch(一个基于 Lua 语言的深度学习库)。PyTorch 灵活性相比 TensorFlow 大大增强,支持动态构图,开发者可以随时改变神经网络的结构。PyTorch 今年因其易用性表现突出,越来越受到学术界的青睐。

如果你是一名初学者,想要去复现前沿的算法,推荐使用 PyTorch。如果你是工业场景开发者,最好先搜一搜是否已经有使用 PyTorch 的成功落地案例。因为在运算效率、工业部署上,PyTorch 还不算成熟。Caffe2 为生产环境设计,提供在各种平台(包括移动设备)的运行时。Caffe2 意在弥补 Pytorch 在生产环境的不足,目前还没有看到太多开发者反馈 Caffe2 的工业表现,需要更多时间验证。

MxNet:已被亚马逊 (Amazon) 选为 AWS 上的深度学习框架,支持动态图计算。优势是高效小巧,更适合自定义需求高的公司和研究者。如果你的工作需要对框架进行修改时,改 MxNet 要比改 TF 高效多了。MXNet 的用户相比其他框架并不算太多,有少量拥戴者。MXNet 在文档质量方便经常被诟病,新手还需要多磨合一下。

Keras:是一个用于快速构建深度学习原型的高层神经网络库,Keras 由纯 Python 编写而成,并基于 Tensorflow、Theano 以及 CNTK 后端。Keras 隐藏了大部分的内部运算,对于新手来说非常友好。如果想要快速入门,建议可以选择 Keras。但真的想成为深度学习大拿,还是要手动从零开始写一个神经网络的代码,否则容易依赖于 Keras 的易使用性而忽略底层原理。

XDL:阿里出品。X-Deep Learning (XDL) 是针对特定工业级场景(比如广告)深度学习问题的解决方案,而不是与其他框架并列的底层框架。实际上,XDL 采用桥接的方式支持使用 TensorFlow 和 MXNet 作为单节点的计算后端。对于已经使用 TensorFlow、MXNet 的开发者来说,如果需要在大规模稀疏场景应用可以选择 XDL 试试, XDL 依赖于阿里提供特定的部署环境,对非阿里系用户不是很人性化。

不同学习阶段、不同岗位的开发者,面对不同的业务场景需求应该选择什么深度学习框架?选择和衡量的标准是什么?

不同类型的用户,选择和衡量的标准会有一定差异。选择框架通常要考虑易用性、性能、社区、平台支持等问题。初学者应该考虑容易上手的框架。偏研究性的开发者,一般选择易用而且有领先的模型基线的框架。偏工业应用的开发者可以考虑使用稳定性高、性能好的框架。比较高阶的用户,往往需要同时掌握多个框架。

最新的开源算法可能会基于某个框架,掌握多个框架可以更快复现前沿成果。同时不同框架在不同模型上有性能差异,掌握多个框架也可以选择在某个场景下最适合的框架。

在选择深度学习框架时有哪些经验可以分享?需要考虑哪些因素?

开发者通常用深度学习框架组建网络,去解决实际企业级业务中的具体问题,比如:词法分析、机器翻译等。选择框架时通常需要关注以下一些因素:

  1. 框架是否已经官方支持了当前最好的算法,比如中文词法分析任务。
  2. 框架是否高效。同样的算法用不同框架实现,训练速度更快,意味着更少的线下资源,更快的迭代速度;预测速度更快,意味着实际部署时可以为企业节省大量的机器资源,也具有更高的响应速度。
  3. 框架的接口是否容易使用。

掌握一个深度学习框架,开发者需要做哪些准备?

在开发者已经学习 Python 程序开发和深度学习基础知识的前提下,掌握一个深度学习框架,开发者需要了解框架的基本原理,学习并掌握框架的基本概念和用法。

  1. 通常可以先从官方文档开始,通过大致浏览官方文档对框架基本概念和用法有一个大致的了解。
  2. 另外可以结合官方提供的快速入门例子,在自己的机器上安装并练习使用。
  3. 然后可以再从官方的模型库里面挑选一些算法,进行学习参考。
  4. 结合自己具体任务组建网络,查看 API 接口文档,解决实际任务。

深度学习框架能“包治百病”吗?是否适用于所有应用场景需求?

需要提醒大家的是,深度学习框架不能包至百病,深度学习框架能够解决的是适合使用深度学习技术的应用场景。

深度学习(DL)是机器学习(ML)的一个分支,也是当下最流行的机器学习方法,虽然近几年在图像、语音、自然语言处理等应用方向,深度学习技术都取得了突破性的进展,但是我们依然不应该神话深度学习,认为深度学习无所不能。

适合掌握深度学习的任务应具备这样一些特点:

  1. 具备大量样本数据。如果样本数据难以获取或者数量太少,我们认为就不适合深度学习技术解决
  2. 样本数据对场景的覆盖度足够完善。深度学习模型的效果完全依赖样本数据表现,如果出现样本数据外的情况,模型的推广性会变差
  3. 结果对可解释性的要求不高。如果应用场景不仅要机器能够完成某项任务,还需对完成过程有明确的可解释性,这样的场景就不那么适合深度学习。

中国的深度学习框架有哪些不同于欧美国家主流深度学习开发框架的特点和创新?

从深度学习框架的特点来讲,中国和欧美的的区分未必是一个合适的分类方式。很多中国深度学习框架研发的主体是中国工程师,也是在中国公司成长起来的,自然对国内的实际应用特点把握得会更精准,而且在中文文档、中文教程以及中文模型配套上是独具特色的。

未来,框架发展会出现哪些趋势?

首先,当前仍处于深度学习研究和应用的持续火热期,深度学习框架及平台在研究界和工业界的需求仍持续增长。深度学习框架和平台在产业界的市场占有还未进入稳定期,当然未来一段时间应该也不会出现完全一家独大的垄断局面。

一方面整体的市场需求是很大也很多样化的,另一方面不同框架在特性及发力点上自然会有一些差异性的适配。随着深度学习在各行各业的广泛应用,服务能力强的、更贴近用户需求的框架会有更大的提升机会。

过去一段时间,动态图的灵活性、易用性展现出对科研人员极大的吸引力,更多框架开始支持动态图,但需要进一步解决动态图下的性能优化问题。因为在工业界,训练效率和规模化始终是最重要的。所以,各框架取长补短趋同性比较明显,前端易用性、计算高效性、框架稳定性成为持续优化方向。当然,不同框架的先天基因的特性还是非常明显的。

此外需要注意的是,AI 专有芯片也在快速发展,框架和底层芯片的软硬结合一体化研发也日益引起关注。AI 应用部署场景快速扩张,框架对各硬件平台的快速部署和高效推理能力变得非常重要。整体而言,需要支持多硬件的高效计算。这也使得框架 内部架构上倾向于更好的抽象分层,保持整体逻辑的统一性和异构硬件执行的高效性。

另一方面,深度学习框架的内涵也在延展。深度学习框架的出现本身就是为了深度学习研究、实验和应用的便利性,节省了开发者很大的编程代价。但对于深度学习技术而言,网络设计其实也是非常重要的一环,基础的深度学习框架是无法解决这个问题的。所以当下 神经网络结构的自动设计 AutoDL 技术就成为新的热点,也和深度学习框架进行更紧密的结合。

从便利深度学习技术应用来讲,只靠开源框架还是不够的,需要场景化组件、模块、平台和产品的组合打法,框架之上的平台、配套组件构成的深度学习全流程解决方案对实际应用非常关键。若想深度学习框架在实际应用中发挥更大作用,是需要 更全面的综合服务配套建设的。

如何看待接下来的框架之争?

随着深度学习技术的普及,各家框架的成熟化,深度学习技术的门槛会越来越低。在研究场景中,好用、灵活易扩展是最重要的考量因素,从目前的趋势来看,PyTorch 在易用性上有一定优势。PaddlePaddle 在实际生产场景中,框架的易用性、稳定性、生态资源的丰富度将取代技术的领先性成为开发者更重要的考量因素。

未来,拥有完整生态资源、有实际应用场景支撑的框架会争夺到越来越多的企业开发者用户。在国外,依赖于谷歌生态的 TensorFlow,依赖于 AWS 云生态的 MXNet,未来都有一定的机会。

想要形成自己的产品生态,需要哪些必备条件?

想要形成自己的产品生态,需要具备四大条件:

  1. 掌握能为最终用户提供巨大收益的核心技术。如深度学习领域框架所涉及的异构计算、并行训练、多路通信、多端部署及核心算法等关键技术。厂商需要拥有深度学习核心技术并形成自己的特色,才具备了生态号召力。
  2. 核心产品或服务能够规模化地应用和落地。在生态拓展的过程中,厂商有能力通过平台和资源沉淀足够多的通用解决方案。
  3. 能为最终用户提供全面的体验。深度学习框架应用门槛较高,真正在企业广泛落地,还有很多的工作要做,比如结合企业需求的深度定制优化、深度学习配套工具建设、细致的企业服务等等,这要求厂商能够有效整合生态系统中的各个伙伴能力,为最终用户提供更全面的产品体验。
  4. 拥有持续创新的能力。厂商应该有足够的资金和动力让核心技术和产品持续创新,使得生态系统的用户相信核心业务能够一直使他们受益。

本文授权转载自AI前线(ID:ai-front)

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

本文分享自 新智元 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
如此多的深度学习框架,为什么我选择PyTorch?
2017年1月,Facebook人工智能研究院(FAIR)团队在GitHub上开源了PyTorch,并迅速占领GitHub热度榜榜首。
博文视点Broadview
2020/06/11
1.8K0
如此多的深度学习框架,为什么我选择PyTorch?
掌握哪些机器学习工具更受企业青睐?
根据 GitHub 活跃数、开发人员使用人数、在招聘描述中出现的频率等综合数据分析,Google的 TensorFlow 仍稳居第一,被广大网友一致认为非常适合入门学习的 Keras 、人气涨势迅速的 PyTorch 、还有 Caffe 、Theano、MXNet 、CNTK 、Caffe 2.0、FastAi 等框架都紧随其后,受到越来越来多开发者和企业的关注。
AI科技大本营
2018/11/06
9990
23 种深度学习库排行榜:TensorFlow、Keras、caffe 占据前三!
本文介绍了23种深度学习库,这些库包括TensorFlow、Keras、Caffe、Theano、Torch、MXNet、CNTK、DeepLearning4J、Gensim、R、D3、Deepnet、scikit-learn、MNIST、ImageNet、AlexNet、VGG、ResNet、MemNet、DeepLab、U-Net、Sonnet、TensorLayer、Keras、Caffe2、Paddle、Theano、NLTK、Gensim、OpenCV和scikit-image。这些库在数据科学、自然语言处理、计算机视觉和图像处理等领域得到了广泛应用。其中,TensorFlow和Keras是两种最受欢迎的深度学习库,它们都支持Python,并且Keras正在快速地成为TensorFlow的核心组件。Caffe和Theano是两种广泛使用的深度学习库,它们都支持Python和C++。其他库如MXNet、TensorLayer和Keras也支持多种编程语言,包括Python、C++和R。这些深度学习库在数据科学、自然语言处理、计算机视觉和图像处理等领域得到了广泛应用。
全球人工智能
2017/10/31
4.7K1
23 种深度学习库排行榜:TensorFlow、Keras、caffe 占据前三!
详解 6 大主流深度学习框架
导读:近几年,随着深度学习的爆炸式发展,相关理论和基础架构得到了很大突破,它们奠定了深度学习繁荣发展的基础。这其中涌现了几个著名的深度学习平台,本文将对这些平台进行简要介绍。
IT阅读排行榜
2022/03/11
4.6K0
详解 6 大主流深度学习框架
计算机视觉深度学习训练推理框架
前言 本文整理了一些深度学习训练推理框架,涉及计算机视觉、语音、时序任务上的框架,共计20多种。
小白学视觉
2025/02/05
1680
计算机视觉深度学习训练推理框架
2023了,学习深度学习框架哪个比较好?
都2023年,才来回答这个问题,自然毫无悬念地选择PyTorch,TensorFlow在大模型这一波浪潮中没有起死回生,有点惋惜,现在GLM、GPT、LLaMA等各种大模型都是基于PyTorch框架构建。这个事情已经水落石出。
ZOMI酱
2023/07/18
1.2K0
2023了,学习深度学习框架哪个比较好?
8种主流深度学习框架介绍
导读:近几年随着深度学习算法的发展,出现了许多深度学习框架。这些框架各有所长,各具特色。常用的开源框架有TensorFlow、Keras、Caffe、PyTorch、Theano、CNTK、MXNet、PaddlePaddle、Deeplearning4j、ONNX等。
IT阅读排行榜
2022/01/20
6.2K0
8种主流深度学习框架介绍
技术流|主流深度学习框架比较
目前市面上主流深度学习框架近十余种,每种框架各具特色。如何选择合适的深度学习框架?本篇对主流深度学习框架进行综合比较,帮助大家理清思路。
用户1386409
2018/07/26
5190
常见深度学习框架对比
目前研究人员正在使用的深度学习框架不尽相同,有TensorFlow、Caffe、Theano、Keras等,常见的深度学习框架如下图所示。
SeanCheney
2019/04/09
1.6K0
常见深度学习框架对比
专访百度 PaddlePaddle 开源平台负责人王益:国产深度学习平台是如何帮助开发者快速开发 AI 产品的?
专访百度 PaddlePaddle 开源平台负责人王益:国产深度学习平台是如何帮助开发者快速开发 AI 产品的?
AI研习社
2018/03/16
2K0
了解机器学习/深度学习常用的框架、工具
scikit-learn 官方文档:https://scikit-learn.org/stable/#
叶庭云
2024/05/25
1.8K0
训练好的深度学习模型原来这样部署的!(干货满满,收藏慢慢看)
当我们辛苦收集数据、数据清洗、搭建环境、训练模型、模型评估测试后,终于可以应用到具体场景,但是,突然发现不知道怎么调用自己的模型,更不清楚怎么去部署模型!
计算机视觉研究院
2021/07/30
31.3K0
【2017深度学习框架大事记】PyTorch成TensorFlow最大竞争对手,微软、亚马逊、Facebook 合作联盟对抗谷歌
来源:towardsdatascience.com 作者:Indra den Bakker 编译:刘小芹 【新智元导读】2017年,深度学习框架领域出现了许多新变化。TensorFlow仍然是最受欢迎的深度学习框架,但使用动态图的更高效的PyTorch作为后起之秀,已经成为TensorFlow的最大竞争对手。第一个被广泛采用的深度学习框架Theano“功成身退”,宣布停止开发和维护。此外,微软和亚马逊联合推出Gluon,微软、亚马逊和Facebook等联合发布ONNX格式,深度学习框架也呈现出合作联盟、对抗
新智元
2018/03/20
1K0
【2017深度学习框架大事记】PyTorch成TensorFlow最大竞争对手,微软、亚马逊、Facebook 合作联盟对抗谷歌
九大深度学习框架
开源的深度学习神经网络正步入成熟,而现在有许多框架具备为个性化方案提供先进的机器学习和人工智能的能力。那么如何决定哪个开源框架最适合你呢?本文试图通过对比深度学习各大框架的优缺点,从而为各位读者提供一个参考。你最看好哪个深度学习框架呢? 现在的许多机器学习框架都可以在图像识别、手写识别、视频识别、语音识别、目标识别和自然语言处理等许多领域大展身手,但却并没有一个完美的深度神经网络能解决你的所有业务问题。所以,本文希望下面的图表和讲解能够提供直观方法,帮助读者解决业务问题。 下图总结了在 GitHub 中最受
朱晓霞
2018/04/18
1.1K0
九大深度学习框架
资源 | 16个GitHub收藏和贡献率最高的深度学习框架
大数据文摘作品 编译:惊蛰、什锦甜、蒋宝尚 深度学习是一种基于对数据进行表证学习的机器学习方法,近些年不断发展并广受欢迎。 作为一个相对较新的概念,对于无论是想要进入该领域的初学者,还是已经熟知方法的老手来说,触手可及的学习资源太丰富了。 为了不被日新月异的技术和潮流所淘汰,积极参与深度学习社区中开源项目的学习和互动是个很好的方法。 在本文中文摘菌将为大家详细介绍16种GitHub中最受欢迎的深度学习开源平台和开源库,除此之外,还有些比较不错的平台和框架虽然没有进入榜单,文摘菌也列了出来,供大家参考。 Gi
大数据文摘
2018/05/23
5680
AI 开发者高薪太诱人?请收下这份给国内开发者转型 AI 指南
如果你浏览 AI 相关的新闻,不难发现「高薪」、「百万年薪」等极具诱惑力的词汇的出现频率非常高。同样,在知乎中搜索「如何转型 AI?」、「AI 领域需要怎样的人才?」、「普通程序员如何学习 AI 知识?」等问题,也总会发现各种各样的答案和衍生的话题。在人工智能浪潮的助推下,不少科技公司开高薪求良才,更有不少开发者前赴后继地投身进 AI 的风口中。
AI研习社
2018/07/26
6090
AI 开发者高薪太诱人?请收下这份给国内开发者转型 AI 指南
百度上线深度学习工具Visual DL,提供独立的Python SDK
百度PaddlePaddle & ECharts团队宣布上线深度学习可视化工具Visual DL,该工具可以使得深度学习任务变得生动形象,实现可视分析。百度希望能够借此为全球更广泛的用户提供更便捷高效
BestSDK
2018/03/02
8460
百度上线深度学习工具Visual DL,提供独立的Python SDK
入门大爆炸式发展的深度学习,你先要了解这6个著名框架
Theano是在BSD许可证下发布的一个开源项目,是由LISA集团(现MILA)在加拿大魁北克的蒙特利尔大学开发的,其是以一位希腊数学家的名字命名的。
IT阅读排行榜
2019/08/05
8060
入门大爆炸式发展的深度学习,你先要了解这6个著名框架
深度学习框架简史:PPT格局初现,中国占有一席
苹果、谷歌、Facebook、SAP、微软等科技巨头,早已有了实际的行动。单单是Apple Pay和Google Pay的停用,就已经影响了数千万人的生活秩序,而GitHub、Node、React等开源平台针对俄罗斯开发者的严格限制,则给不少企业的产品开发、商业运作蒙上了一层不确定的阴影。
Alter聊科技
2023/01/13
6420
深度学习框架如何选?从迷茫到优选的指南
作为一名深度学习领域的实践者,我在入门时也曾在各种深度学习框架之间“眼花缭乱”。如今,这些框架已经不仅仅是工具,而是推动人工智能发展的引擎。从TensorFlow到PyTorch,从Keras到MindSpore,每一个框架都有自己的风格和特点,仿佛各自站在舞台中央等待我们挑选。
Echo_Wish
2025/03/19
1040
深度学习框架如何选?从迷茫到优选的指南
推荐阅读
相关推荐
如此多的深度学习框架,为什么我选择PyTorch?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档