精华内容
下载资源
问答
  • 学pytorch还是tensorflow
    千次阅读
    2020-12-17 12:54:20

    在机器学习领域,面对各类复杂多变的业务问题,构建灵活易调整的模型是高阶机器学习工程师必备的工作能力。然而,许多工程师还是有一个想法上的误区,以为只要掌握了一种深度学习的框架就能走遍天下了。

    事实上,在机器学习领域里没有任何一种框架是能够制霸整个行业的,每位机器学习工程师都必须同时掌握多种框架才能适应业务发展的需要。

     

    那么有没有一种框架是相对来说更方便好用的呢?这个问题的答案是肯定的,在这里我就要为你推荐 PyTorch了。

    不瞒你说,PyTorch 以它良好的扩展性和超高的实现速度,近年来已赢得了不少工程师的喜爱和赞赏。首先,PyTorch 支持 GPU,这就能够显著提升代码的运行效率。同时,相比 TensorFlow 和 Caffe,PyTorch 拥有反向自动求导技术,让你在调整自定义模型的时候不必从头开始,帮助你节省不少的开发时间。

    此外,PyTorch 的代码还比 TensorFlow 的代码更加简洁直观、友好易懂,堪称是非常优质的学习案例,这也能帮助许多工程师更深度地理解机器学习。

     

    说到这里,不得不推荐极客时间 PyTorch 的小课了,众微科技 AI Lab 负责人王然手把手教你上手 PyTorch。现在还有少量免费学习的名额哦!

     

    王然手把手教你上手 PyTorch

    众微科技 AI Lab 负责人、阿姆斯特丹大学数学和计量经济学双硕士--王然,将从零开始手把手地带你理解 PyTorch 的基本用法、模型训练过程以及使用PyTorch Lighting 完成复杂逻辑,最后实现一个自定义的神经网络并验证效果。

    课程大纲

           

    学完后你将收获

    1. 如何通过 PyTorch 实现各种场景下(多 GPU,TPU 等)的训练

    2. 如何利用 PyTorch 内在的网络架构定义自己的网络

    3. 如何利用 PyTorch 的 Tensor 运算撰写自己的网络

     

    如何看课?

     

    扫描下方二维码,或点击阅读原文即可报名

    戳“阅读原文”即可学习!王然手把手教你上手 PyTorch!   

    更多相关内容
  • 学PyTorch还是TensorFlow

    千次阅读 2020-12-18 17:00:00
    在机器学习领域,面对各类复杂多变的业务问题,构建灵活易调整的模型是高阶机器学习工程师必备的工作能力。然而,许多工程师还是有一个想法上的误区,以为只要掌握了一种深度学习的框架就能走遍天下了...

    在机器学习领域,面对各类复杂多变的业务问题,构建灵活易调整的模型是高阶机器学习工程师必备的工作能力。然而,许多工程师还是有一个想法上的误区,以为只要掌握了一种深度学习的框架就能走遍天下了。

    事实上,在机器学习领域里没有任何一种框架是能够制霸整个行业的,每位机器学习工程师都必须同时掌握多种框架才能适应业务发展的需要。

     

    那么有没有一种框架是相对来说更方便好用的呢?这个问题的答案是肯定的,在这里我就要为你推荐 PyTorch了。

    不瞒你说,PyTorch 以它良好的扩展性和超高的实现速度,近年来已赢得了不少工程师的喜爱和赞赏。首先,PyTorch 支持 GPU,这就能够显著提升代码的运行效率。同时,相比 TensorFlow 和 Caffe,Pytorch作为动态图能力的集大成者和先驱之一,可以让开发者像写python代码一样定义和训练模型,大大降低上手成本,节省不少的开发时间。

    此外,PyTorch 的代码还比 TensorFlow 的代码更加简洁直观、友好易懂,堪称是非常优质的学习案例,这也能帮助许多工程师更深度地理解机器学习。

     

    说到这里,不得不推荐极客时间 PyTorch 的小课了,众微科技 AI Lab 负责人王然手把手教你上手 PyTorch。现在还有少量免费学习的名额哦!

     

    王然手把手教你上手 PyTorch

    众微科技 AI Lab 负责人、阿姆斯特丹大学数学和计量经济学双硕士--王然,将从零开始手把手地带你理解 PyTorch 的基本用法、模型训练过程以及使用PyTorch Lighting 完成复杂逻辑,最后实现一个自定义的神经网络并验证效果。

    课程大纲????

           

    学完后你将收获

    1. 如何通过 PyTorch 实现各种场景下(多 GPU,TPU 等)的训练

    2. 如何利用 PyTorch 内在的网络架构定义自己的网络

    3. 如何利用 PyTorch 的 Tensor 运算撰写自己的网络

     

    如何看课?

     

    扫描下方二维码,或点击阅读原文即可报名????

    免费预约「机器学习训练营」开营直播

     

    除了 PyTorch 这些框架之外,想要成为一名“能出活”的、被大厂需要的机器学习工程师,还是需要系统的提升技能。

    在此,推荐给你王然老师的「机器学习训练营」课程设计对标阿里 P6,15 周全程直播授课,带你成为能落地的实干型机器学习工程师。下周二开营,现在开营直播免费开放,王然老师会跟你聊聊工程师怎么才能解决实际问题。

    直播时间:12月22日晚 20:00

    直播主题:如何成为能出活的机器学习工程师?

    你将获得:

    • 怎样才称得上是能出活的工程师?

    • 机器工程师应该有什么样的知识体系?

    • 有哪些入行小白要摆脱的学习误区?

    扫描上方二维码,添加学习助理即可领取 PyTorch 课程并预约直播????

    戳“阅读原文”即可学习!王然手把手教你上手 PyTorch!   

    展开全文
  • 在机器学习领域,面对各类复杂多变的业务问题,构建灵活易调整的模型是高阶机器学习工程师必备的工作能力。然而,许多工程师还是有一个想法上的误区,以为只要掌握了一种深度学习的框架就能走遍天下了...

    在机器学习领域,面对各类复杂多变的业务问题,构建灵活易调整的模型是高阶机器学习工程师必备的工作能力。然而,许多工程师还是有一个想法上的误区,以为只要掌握了一种深度学习的框架就能走遍天下了。

    事实上,在机器学习领域里没有任何一种框架是能够制霸整个行业的,每位机器学习工程师都必须同时掌握多种框架才能适应业务发展的需要。

     

    那么有没有一种框架是相对来说更方便好用的呢?这个问题的答案是肯定的,在这里我就要为你推荐 PyTorch了。

    不瞒你说,PyTorch 以它良好的扩展性和超高的实现速度,近年来已赢得了不少工程师的喜爱和赞赏。首先,PyTorch 支持 GPU,这就能够显著提升代码的运行效率。同时,相比 TensorFlow 和 Caffe,PyTorch 拥有反向自动求导技术,让你在调整自定义模型的时候不必从头开始,帮助你节省不少的开发时间。

    此外,PyTorch 的代码还比 TensorFlow 的代码更加简洁直观、友好易懂,堪称是非常优质的学习案例,这也能帮助许多工程师更深度地理解机器学习。

     

    说到这里,不得不推荐极客时间 PyTorch 的小课了,众微科技 AI Lab 负责人王然手把手教你上手 PyTorch。现在还有少量免费学习的名额哦!

     

    王然手把手教你上手 PyTorch

    众微科技 AI Lab 负责人、阿姆斯特丹大学数学和计量经济学双硕士--王然,将从零开始手把手地带你理解 PyTorch 的基本用法、模型训练过程以及使用PyTorch Lighting 完成复杂逻辑,最后实现一个自定义的神经网络并验证效果。

    课程大纲????

           

    学完后你将收获

    1. 如何通过 PyTorch 实现各种场景下(多 GPU,TPU 等)的训练

    2. 如何利用 PyTorch 内在的网络架构定义自己的网络

    3. 如何利用 PyTorch 的 Tensor 运算撰写自己的网络

     

    如何看课?

     

    长按或扫描下方二维码,回复:“大数据”即可报名免费学????

    这里有场能帮到你的直播    

    另外还有个福利送给你,2月2日20:00,王然在极客时间live 会有一场主题【机器学习工程师的进阶突破口有哪些?】免费直播,届时他将结合自身丰富行业经验,跟你好好聊聊:

    1. 如何在就业中获取竞争优势?

    2. 如何克服学习 AI 的最大困难?

    3. 如何寻找大牛并获得方向性的指导?

    长按或扫描二维码,回复:“大数据”即可免费看直播啦

    展开全文
  • 来源:机器之心坊间传闻:「TensorFlow 适合业界,PyTorch 适合学界」。都 2022 年了,还是这样吗?2022年了,你是选 PyTorch 还是 TensorFlow?之前...

    来源:机器之心

    坊间传闻:「TensorFlow 适合业界,PyTorch 适合学界」。都 2022 年了,还是这样吗?

    2022年了,你是选 PyTorch 还是 TensorFlow?之前有一种说法:TensorFlow 适合业界,PyTorch 适合学界。这种说法到 2022 年还成立吗?在这篇文章中,作者从模型可用性、部署便捷度和生态系统三个方面对比了两个框架的优缺点,并针对不同身份的读者给出了不同的选择建议。

    1. 模型可用性对比:PyTorch 胜出

    在模型可用性方面,PyTorch 和 TensorFlow 表现出了明显的区别。它们都有自己的官方模型库,但是对于从业者来说,这些库里的模型可能还不够。因此,我们有必要比较一下这两个框架官方模型库之外的模型来源是否丰富。

    HuggingFace

    HuggingFace 的存在使得深度学习从业者仅借助几行代码就能将训练、微调好的 SOTA 模型整合到其 pipeline 中。下图显示了两个框架的 HuggingFace 模型可用情况。从图中看出,HuggingFace 中大约有 85% 的模型只能在 PyTorch 上用,剩下的模型还有一半也可以在 PyTorch 上用。相比之下,只有 16% 的模型能在 TensorFlow 上用,只有 8% 是 TensorFlow 所独有的。

    06cf1d925fe476b96eb6073900b3f4c1.png

    如果把范围缩小到 HuggingFace 上最受欢迎的 30 个模型,我们可以看到类似的结果。在这 30 个模型中,能在 TensorFlow 上用的还不到 2/3,但能在 PyTorch 上用的却达到了 100%,没有哪个模型只能在 TensorFlow 上用。

    972eb46a54dcbfa8000dad599f8a0f92.png

    研究论文

    对于研究者来说,从最近发表的论文中获取模型是非常重要的,它可以让你专注于其他重要的工作。尝试在不同的框架中重新创建新的模型会浪费宝贵的时间。

    考虑到 PyTorch 实际上是一个研究型框架,作者预期在 HuggingFace 上观察到的趋势会蔓延至整个社区,结果不出所料。

    如下图所示,作者汇总了 8 个顶级研究期刊上的论文在过去几年里的框架采用情况。结果显示,PyTorch 的采用率增长迅速,几年时间就从原来的 7% 长到了近 80%。

    05f514d51766a1c728371ebe8fc2dafe.png

    PyTorch 的这种增长势头很大程度上是拜 TensorFlow 所赐。很多转向 PyTorch 的研究者都表示 TensorFlow 1 太难用了。尽管 2019 年发布的 TensorFlow 2 改掉了一些问题,但彼时,PyTorch 的增长势头已经难以遏制。

    如果看一下那些中途换框架的研究者的比例,我们也可以得出类似的结论。如下图所示,在 2018 年还在用 TensorFlow 的论文作者中,有 55% 的人在 2019 年转向了 PyTorch,但 2018 年就在用 PyTorch 的人有 85% 都留了下来。

    a2790fb59ab5f1b1b36901abc38054e1.png

    Papers with Code

    最后我们来看一下 Papers with Code 网站。在这一部分,作者绘制了使用 PyTorch、TensorFlow 或其他框架的论文随时间变化的比例。从中可以看出,使用 PyTorch 的论文在稳步增长:在本季度创建的 4500 个库中,有 60% 是在 PyTorch 中实现的,只有 11% 是在 TensorFlow 中实现的。相比之下,TensorFlow 的使用率在稳步下降,2019 年 TensorFlow 2 的发布也没有扭转这一趋势。

    339d4de1021a28e2c98fcffc5bbb764a.png

    小结

    从以上数据可以明显看出,PyTorch 目前在研究领域占据主导地位。虽然 TensorFlow 2 解决了研究者使用该框架进行研究的一些痛点,但 PyTorch 却没有给研究者回头的理由。此外,TensorFlow 两大版本之间的向后兼容性问题只会让这种趋势愈演愈烈。

    当然,这里还有几个例外需要注意:

    Google AI:谷歌发布的论文自然会用 TensorFlow。鉴于在论文方面谷歌比 Facebook 更高产,一些研究者可能会发现掌握 TensorFlow 还是很有用的。

    DeepMind:DeepMind 也用 TensorFlow,而且也比 Facebook 高产。他们创建了一个名叫 Sonnet 的 TensorFlow 高级 API,用于研究目的。有人管这个 API 叫「科研版 Keras」,那些考虑用 TensorFlow 做研究的人可能会用到它。此外,DeepMind 的 Acme 框架可能对于强化学习研究者很有用。

    OpenAI:OpenAI 在 2020 年宣布了全面拥抱 PyTorch 的决定。但他们之前的强化学习基线库都是在 TensorFlow 上部署的。基线提供了高质量强化学习算法的实现,因此 TensorFlow 可能还是强化学习从业者的最佳选择。

    JAX:谷歌还有另一个框架——JAX,它在研究社区中越来越受欢迎。与 PyTorch 和 TensorFlow 相比,JAX 的开销要小得多。但同时,JAX 和前两个框架差别也很大,因此迁移到 JAX 对于大多数人来说可能并不是一个好选择。目前,有越来越多的模型 / 论文已经在用 JAX,但未来几年的趋势依然不甚明朗。

    所以总体来看,在第一轮(模型可用性)的对比中,PyTorch 完胜。

    2. 部署便捷性对比:TensorFlow 胜出

    从一开始,TensorFlow 就是一个面向部署的首选框架,因为它有一系列可以提高端到端深度学习效率的工具,比如 TensorFlow Serving 和 TensorFlow Lite。

    相比之下,PyTorch 在部署方面一度表现平平,但近年来,它也在努力缩小这一差距。去年推出的 TorchServe 和前几周推出的 PyTorch Live 为用户提供了急需的本地部署工具。但二者之间的差距还有多大?我们来看进一步的分析。

    TensorFlow

    TensorFlow 有静态图,可以优化推理性能。当使用 TensorFlow 部署模型时,你可以根据具体应用选择使用 TensorFlow Serving 或 TensorFlow Lite。

    TensorFlow Serving:

    TensorFlow Serving 用于在服务器上部署 TensorFlow 模型,无论是在内部还是在云上,并在 TensorFlow Extended(TFX)端到端机器学习平台中使用。Serving 使得用模型标记(model tag)将模型序列化到定义良好的目录中变得很容易,并且可以选择在保持服务器架构和 API 静态的情况下使用哪个模型来进行推理请求。

    Serving 可以帮用户轻松地在 gRPC  服务器上部署模型,这些服务器运行谷歌为高性能 RPC 打造的开源框架。gRPC 的设计意图是连接不同的微服务生态系统,因此这些服务器非常适合模型部署。Serving 通过 Vertex AI 和 Google Cloud 紧密地集成在一起,还和 Kubernetes 以及 Docker 进行了集成。

    TensorFlow Lite:

    TensorFlow Lite 用于在移动或物联网 / 嵌入式设备上部署 TensorFlow 模型。TFLite 对这些设备上的模型进行了压缩和优化,并解决了设备上的 AI 的 5 个约束——延迟、连接、隐私、大小和功耗。可以使用相同的 pipeline 同时导出基于标准 Keras 的 SavedModels(和 Serving 一起使用)和 TFLite 模型,这样就能比较模型的质量。

    TFLite 可用于 Android、iOS、微控制器和嵌入式 Linux。TensorFlow 针对 Python、Java、C++、JavaScript 和 Swift 的 API 为开发人员提供了广泛的语言选项。

    PyTorch

    PyTorch 在简化部署方面有所投入。以前,PyTorch 用户需要使用 Flask 或 Django 在模型之上构建一个 REST API,但现在他们有了 TorchServe 和 PyTorch Live 的本地部署选项。

    TorchServe:

    TorchServe 是 AWS 和 Facebook 合作的开源部署框架,于 2020 年发布。它具有端点规范、模型归档和指标观测等基本功能,但仍然不如 TensorFlow。TorchServe 同时支持 REST 和 gRPC API。

    PyTorch Live:

    PyTorch 于 2019 年首次发布 PyTorch Mobile,旨在为部署优化的机器学习模型创建端到端工作流,适用于 Android、iOS 和 Linux。

    PyTorch Live 于 12 月初发布,以移动平台为基础。它使用 JavaScript 和 React Native 来创建带有相关 UI 的跨平台 iOS 和 Android AI 应用。设备上的推理仍然由 PyTorch Mobile 执行。Live 提供了示例项目来辅助入门,并计划在未来支持音频和视频输入。

    小结

    目前,TensorFlow 依然在部署方面占有优势。Serving 和 TFLite 比 PyTorch 的同类型工具要稳健一些。而且,将 TFLite 与谷歌的 Coral 设备一起用于本地 AI 的能力是许多行业的必备条件。相比之下,PyTorch Live 只专注于移动平台,而 TorchServe 仍处于起步阶段。因此综合来看,第二轮(部署便捷性)的胜出者是 TensorFlow。

    如果你既想用 TensorFlow 的部署基础设施,又想访问只能在 PyTorch 中使用的模型,作者推荐使用 ONNX 将模型从 PyTorch 移植到 TensorFlow。

    3. 生态系统对比:TensorFlow 胜出

    2022 年,将 PyTorch 和 TensorFlow 分开考虑,一个重要的因素是它们所处的生态系统不同。PyTorch 和 TensorFlow 都提供了易于部署、管理、分布式训练的工具,从建模的角度讲都是能力很强的框架。相比之下,它们在生态系统方面的差异更重要。

    PyTorch 

    Hub:

    PyTorch Hub 作为面向研究的官方平台,用于与预训练模型共享存储库。Hub 拥有广泛类别的模型,包括用于音频、视觉、NLP 任务的模型,还有用于生成任务的 GAN 模型。

    SpeechBrain:

    SpeechBrain 是 PyTorch 的官方开源语音工具包。SpeechBrain 能够完成自动语音识别(ASR)、说话人识别、验证和分类等任务。如果你不想构建任何模型,而是想要一个具有情感分析、实体检测等功能的即插即用工具,你可以选择使用 AssemblyAI 的 Speech-to-Text API。

    当然,PyTorch 的工具页面还有很多其他有用的库,包括为计算机视觉和自然语言处理量身定制的库,例如 fast.ai。

    TorchElastic:

    TorchElastic 是 AWS 和 Facebook 2020 年联合发布的分布式训练工具,可管理工作进程并协调重启行为,以便用户在计算节点集群上训练模型,这些节点可以动态变化而不会影响训练。因此,TorchElastic 可防止因服务器维护或网络问题等导致的灾难性故障,不会丢失训练进度。TorchElastic 具有与 Kubernetes 集成的特性,并已集成到 PyTorch 1.9+ 中。

    TorchX:

    TorchX 是一个用于快速构建和部署机器学习应用程序的 SDK。TorchX 包括 Training Session Manager API,可在支持的调度程序上启动分布式 PyTorch 应用程序。TorchX 负责启动分布式作业,同时原生支持由 TorchElastic 局部管理的作业。

    Lightning:

    PyTorch Lightning 有时被称为 PyTorch 的 Keras。虽然这种类比并不准确,但 Lightning 的确是简化 PyTorch 中模型工程和训练过程的有用工具,自 2019 年首次发布以来已经逐渐趋于成熟。Lightning 以面向对象的方式处理建模过程,定义了可重用和可跨项目使用的可共享组件。

    TensorFlow

    Hub:

    TensorFlow Hub 是一个经过训练的机器学习模型库,可以进行微调,让用户只需几行代码就能使用像 BERT 这样的模型。Hub 包含适用于不同用例的 TensorFlow、TensorFlow Lite 和 TensorFlow.js 模型,可用于图像、视频、音频和文本处理。

    Model Garden:

    如果现成的预训练模型不适用于用户的应用,那么 TensorFlow 的存储库 Model Garden 可以提供 SOTA 模型的源代码。对于想要深入了解模型工作原理,或根据自己的需要修改模型的用户,Model Garden 将非常有用。

    Model Garden 包含谷歌维护的官方模型、研究人员维护的研究模型和社区维护的精选社区模型。TensorFlow 的长期目标是在 Hub 上提供来自 Model Garden 的模型的预训练版本,并使 Hub 上的预训练模型在 Model Garden 中具有可用的源代码。

    Extended(TFX):

    TensorFlow Extended 是 TensorFlow 用于模型部署的端到端平台。该平台的功能强大,包括:加载、验证、分析和转换数据;训练和评估模型;使用 Serving 或 Lite 部署模型;跟踪 artifact 及其依赖项。TFX 还可以与 Jupyter 或 Colab 一起使用,并且可以使用 Apache Airflow/Beam 或 Kubernetes 进行编排。TFX 与 Google Cloud 紧密集成,可与 Vertex AI Pipelines 一起使用。

    Vertex AI:

    Vertex AI 是 Google Cloud 今年刚刚发布的统一机器学习平台,旨在统一 GCP、AI Platform 和 AutoML,成为一个平台。Vertex AI 能够以无服务器方式编排工作流,帮助用户自动化、监控和管理机器学习系统。Vertex AI 还可以存储工作流的 artifact,让用户可以跟踪依赖项和模型的训练数据、超参数和源代码。

    Coral:

    尽管有各种各样的 SaaS 公司依赖基于云的人工智能,但许多行业对本地人工智能的需求也在不断增长,Google Coral 就是为了满足这一需求而创建的。Coral 是一个完整的工具包,可以使用本地 AI 构建产品。Coral 于 2020 年发布,解决了部署部分 TFLite 中提到的实现板载 AI 的问题,克服了隐私和效率等方面的困难。

    Coral 提供了一系列用于原型设计、生产和传感的硬件产品,其中一些本质上是增强型的树莓派,专为 AI 应用程序创建,能够利用 Edge TPU 在低功耗设备上进行高性能推理。Coral 还提供用于图像分割、姿态估计、语音识别等任务的预编译模型,为希望创建本地 AI 系统的开发人员提供支持。创建模型的基本步骤如下面的流程图所示。

    0dd2b1d8917f657873b980e28ce9485d.png

    TensorFlow.js:

    TensorFlow.js 是一个用于机器学习的 JavaScript 库,允许用户使用 Node.js 在浏览器和服务器端训练和部署模型。

    Cloud:

    TensorFlow Cloud 是一个可以将本地环境连接到 Google Cloud 的库,它的 API 旨在弥补本地机器上模型构建和调试与 GCP 上分布式训练和超参数调整之间的差距,而无需使用 Cloud Console。

    Colab:

    Google Colab 是一个基于云的 notebook 环境,与 Jupyter 非常相似。Colab 易于连接到 Google Cloud 进行 GPU 或 TPU 训练,并且 Colab 还可以和 PyTorch 一起使用。

    Playground:

    Playground 是一个小而精致的可视化工具,用于帮助用户理解神经网络的基础知识。要户可以更改 Playground 内置神经网络的层数和大小,以实时查看神经网络是如何学习特征的,用户还可以看到改变学习率和正则化强度等超参数如何影响不同数据集的学习过程。Playground 允许实时播放学习过程,以高度直观的方式查看输入在训练过程中是如何转换的。Playground 还提供了一个开源的小型神经网络库,是它自身的构建基础,用户能够查看其源代码的具体细节。

    Datasets:

    谷歌研究院的 Datasets 是谷歌定期发布的数据集的整合资源。谷歌还提供了数据集搜索以访问更广泛的数据集资源。当然,PyTorch 用户也可以利用这些数据集。

    小结

    总的来说,尽管 PyTorch 和 TensorFlow 有很多相似和共享的资源,但在生态系统方面,终究是 TensorFlow 更胜一筹。谷歌投入巨资确保深度学习的每个相关领域都有完善的产品。与 Google Cloud 和 TFX 的紧密集成使端到端的开发过程变得轻而易举,而将模型移植到 Google Coral 设备的便利性让 TensorFlow 在某些行业取得了压倒性的胜利。

    我应该选 PyTorch 还是 TensorFlow?

    正如期望的那样,PyTorch 与 TensorFlow 还没有决出明确的胜负。只能说,某一个框架在特定用例方面是优于另一个框架的。为了帮助读者做出选择,作者汇总了一些建议。在下面的流程图中,每个图表都针对不同的兴趣领域量身定制。

    如果我在业界怎么办?

    68866032a52d998099912a8f501f52ae.png

    如果在工业界执行深度学习工程任务,你很可能会使用 TensorFlow,并且应该坚持使用它。对于需要将模型投入生产的人来说,TensorFlow 强大的部署框架和端到端的 TensorFlow Extended 平台是很珍贵的。能在 gRPC 服务器上进行轻松部署以及模型监控和工件跟踪是行业应用的关键。

    鉴于 PyTorch 最近发布了 TorchServe,如果你需要访问仅在 PyTorch 中可用的 SOTA 模型,那也可以考虑使用 PyTorch。在这种情况下,请考虑使用 ONNX 在 TensorFlow 的部署工作流中部署转换后的 PyTorch 模型。

    如果你正在构建移动应用,鉴于 PyTorch 最近发布了 PyTorch Live,可以考虑使用 PyTorch。如果你需要音频或视频输入,在这种情况下还是应该使用 TensorFlow。如果你正在构建使用 AI 的嵌入式系统或 IoT 设备,鉴于 TFLite + Coral 生态系统,你仍然应该使用 TensorFlow。

    总之,在工业界,如果必须选择一种框架,请选择 TensorFlow。

    如果我是研究者怎么办?

    de18d9251f7c100538f4956cbd4c75dc.png

    如果是一名研究人员,你大概率会使用 PyTorch,你应该坚持使用它,大多数 SOTA 模型都适用于 PyTorch。

    当然,这条规则有几个值得注意的例外,最值得注意的是:强化学习领域的一些研究应该考虑使用 TensorFlow。TensorFlow 有一个用于强化学习的原生 Agents 库,并且 DeepMind 的 Acme 框架是在 TensorFlow 中实现的。OpenAI 的 baseline 模型存储库也是在 TensorFlow 中实现的,尽管 OpenAI 的 Gym 在 TensorFlow 或 PyTorch 中都能使用。如果你打算使用 TensorFlow 进行研究,还应该查看 DeepMind 的 Sonnet 以获得更高级别的抽象。

    如果不想使用 TensorFlow,比如你正在做 TPU 训练,那么应该考虑探索谷歌的 JAX。JAX 本身不是神经网络框架,而是更接近于具有自动微分能力的 GPU/TPU 的 NumPy 实现。DeepMind 的 Haiku,被称为「Sonnet for JAX」,是一个建立在 JAX 之上的神经网络库,如果你正在考虑 JAX,那么 Haiku 值得你去探索。如果你不进行 TPU 训练,那最好是坚持使用 PyTorch。

    无论选择哪种框架,你都应该在 2022 年密切关注 JAX。

    总之,在学术界,如果需要选择一个框架,请选择 PyTorch。

    如果我是一名教授怎么办?

    3ee3aec7ee7c7bff4f8d3b4c6903093a.png

    如果你是一位教授,在深度学习课程中使用哪种框架取决于每一门课程的目标。如果课程的重点是培养具备行业技能的深度学习工程师,让他们可以胜任整个端到端深度学习任务,而不仅仅是掌握深度学习理论,那么你应该使用 TensorFlow。在这种情况下,接触 TensorFlow 生态系统及其工具以及端到端的实践项目将非常有价值。

    如果课程的重点是深度学习理论和理解深度学习模型的底层原理,那么应该使用 PyTorch。如果你正在教授让学生为深度学习研究做好准备的高级本科课程或早期研究生课程,那你更应该选 PyTorch。

    理想情况下,学生应该接触每个框架,尽管单个学期的时间有限,但花一些时间来了解框架之间的差异可能很有价值。如果课程是机器学习大型课程的一部分,其中有许多课程专门针对不同的主题,最好坚持使用最适合课程材料的框架,而不是尝试同时接触两者。

    如果我正在尝试寻求职业的转变该怎么办?

    24dbf589ead7f4718ea6f92638d080ae.png

    如果想在职业生涯中寻求一些转变,PyTorch 或 TensorFlow 都是不错的选择。在这种情况下,你可以做的最重要的事情是证明自己可以带来额外价值,因此拥有复合项目经验至关重要。将深度学习应用于创造性用例来打破常规,或者通过端到端的项目表明自己已做好迎接行业的准备,都能让自己处于不败之地。

    因此,建议使用可以让你工作更轻松的任何框架,这比熟悉特定框架的 API 重要得多。话虽如此,如果你对框架完全不熟悉,请使用 TensorFlow,因为它是首选的行业框架。下图中汇总了各种职业网站的每个框架职位的发布数量,TensorFlow 远远超过了 PyTorch。

    b2a5879778dd2eabfdc277be6810e291.png

    总之,如果你有使用 PyTorch 的特定原因,例如为 OpenAI 工作,或者使用 TensorFlow 对你来说非常不直观,那么请随意。但一般的建议是专注于 TensorFlow。

    如果我是业余爱好者,怎么选?

    770ef7f7040668a6ea673abd2203e829.png

    如果你是个深度学习爱好者,那么你使用的框架将取决于你的目标。如果将深度学习模型作为某个较大项目的一部分来实施,那么 TensorFlow 可能是你想要使用的,尤其是在部署到物联网 / 嵌入式设备时。鉴于 PyTorch Live 已经发布,你可以将 PyTorch 用于移动应用,但目前 TensorFlow + TFLite 仍然是首选方法。

    如果你的目标是为了使用深度学习而学习,那使用哪种框架取决于你的背景。一般来说,PyTorch 可能是更好的选择,特别是如果你一直习惯使用 Python 工作。

    如果我是个初学者,怎么选?

    0026784d868d1fa07297cb68cf5ca248.png

    如果你是一个对深度学习感兴趣并且只是想入门的初学者,建议使用 Keras。利用其高级组件,你可以轻松地开始了解深度学习的基础知识。不过,一旦准备更深入地了解深度学习的具体细节,你会面临几个选择:

    如果你不想安装新框架,并且担心能否适应新的 API,那可以尝试从 Keras 「下降」到 TensorFlow。如果 TensorFlow 令你困惑,请尝试转向 PyTorch。

    如果你想要一个更像 Python 的框架,那么迁移到 PyTorch 可能是你最好的选择。在这种情况下,必须安装新框架并可能重写自定义脚本。此外,如果 PyTorch 对你来说有点麻烦,你可以使用 PyTorch Lightning 划分你的代码并摆脱一些样板。

    如果你是一个完完全全的初学者,可以考虑观看一些 TensorFlow 和 PyTorch 的 YouTube 教程,以确定哪个框架对自己来说更直观。

    写在最后

    PyTorch 与 TensorFlow 之争是一场微妙的辩论,格局一直在不断变化。至少在 2022 年,PyTorch 和 TensorFlow 都已经是非常成熟的框架,二者的核心深度学习功能重叠明显。今天,考虑每个框架的实际因素,比如它们的模型可用性、部署时间和相关的生态系统,都比只讨论它们的技术差异更有意义。

    选择任一框架都不会出错,因为它们都有完备的文档、学习资源和活跃的社区。希望你能选到最适合的那一个框架。

    原文链接:https://www.assemblyai.com/blog/pytorch-vs-tensorflow-in-2022/

    -------- End --------

    a50661939f8f8e059f6999568b145060.png

    精选资料

    回复关键词,获取对应的资料:

    关键词资料名称
    600《Python知识手册》
    md《Markdown速查表》
    time《Python时间使用指南》
    str《Python字符串速查表》
    pip《Python:Pip速查表》
    style《Pandas表格样式配置指南》
    mat《Matplotlib入门100个案例》
    px《Plotly Express可视化指南》

    精选视频

    可视化: Plotly Express

    财经: Plotly在投资领域的应用 | 绘制K线图表

    排序算法: 汇总 | 冒泡排序 | 选择排序 | 快速排序 | 归并排序 | 堆排序 | 插入排序 | 希尔排序 | 计数排序 | 桶排序 | 基数排序

    c856bed42646ec0a2a7ba76d6253f98f.png
    展开全文
  • 在张量操作功能模块上,对比学习pytorchtensorflow两者的API接口,和语法。一篇文档同时拥有pytroch、tensorflow,美滋滋。
  • PyTorchTensorFlow近几年一直是深度学习领域的两大热门框架。PyTorchTensorFlow都拥有丰富的API、广阔的用户群体,目前也都广泛用于学术研究和商业应用。我们在学习工作中到底应该选择哪个,这可能是很多...
  • 2022年了,PyTorchTensorFlow你选哪个?

    千次阅读 多人点赞 2021-12-21 00:17:53
    选自AssemblyAI博客作者:Ryan O'Connor机器之心编译机器之心编辑部坊间传闻:「TensorFlow 适合业界,PyTorch 适合学界」。都 2022 年了,还是这样吗...
  • 本文将探讨PyTorchTensorFlow这两种流行深度学习框架之间的关键相似点和不同点。为什么选择这两个框架,而不是其他的呢?目前有很多的深度学习框架,而且很多都可用于实际的生产,我...
  • PyTorch 的设计符合人们的思维,它让用户尽可能地专注于实现自己的想法,所思即所得,不需要考虑太多框架本身的束缚。然而,作为一个还在快速发展探索的领域,人工智能研发人员实际需要的可能并没有这么复杂,他们...
  • 如果你是新手两个都不会,该怎么选? 直接以Pytorch为切入点,它整体来讲API较为清晰,文档较为清晰,比...所以呢,先一年以后Pytorch进入精英阶段之后,再进入TensorFlow比较好。 来自抖音编程小朱的分享 ...
  • 那我们要去哪种框架呢,是Pytorch 还是Tensorflow?又该如何去学习呢? 学习机器学习的同学在基本了解相关的专业知识以后,面临的一个关键问题就是如何去把知识运用到实际的环境中去。 如果从零开始不借助前人的...
  • 2022 年的 PyTorchTensorFlow

    千次阅读 2021-12-22 23:22:33
    你应该在 2022 年使用 PyTorch 还是 TensorFlow?本指南介绍了 PyTorchTensorFlow 的主要优缺点,以及如何选择正确的框架。 PyTorchTensorFlow 是当今最流行的两个深度学习框架。关于哪个框架更好的争论是一...
  • 输入以下命令: import torch print(Torch.version) print(torch.test.is_gpu_available()) 成功输出版本号和True则表示Pytorch-gpu版安装成功 第五步安装深度学习框架tensorflow(基本操作步骤类似上一步),具体...
  • 摘要: 本文参考前辈资料,并结合实际操作,记录深度学习的经典框架PyTorchTensorFlow的实际环境配置所需操作。其中,操作1-2步为两个框架环境配置都需要执行的操作,第3步为各自分化操作,第4步为Jupyter ...
  • pytorchtensorflow的区别

    千次阅读 2021-03-13 14:23:14
    PyTorch中,图结构是动态的,这意味着图在运行时构建。 而在TensorFlow中,图结构是静态的,这意味着图先被“编译”然后再运行。 PyTorch中简单的图结构更容易理解,更重要的是,还更容易调试。调试PyTorch代码就...
  • pyTorchTensorFlow的综合对比

    千次阅读 2021-01-13 10:44:18
    之前,斯坦福大学研究机器学习的博士生Awni Hannun,围绕PyTorch还是TensorFlow这个话题,做了一个深入的比较。 综合对比表 对比类别 pyTorch tensorFlow 较优 上手时间 PyTorch本质上是Numpy的替代...
  • PytorchTensorFlow很显然在国内外都很受欢迎的,学习难度是TensorFlow大于Pytorch,随着TensorFlow的发展趋势,现在学习难度已经大大降低了很多,逐渐与Pytorch持平,PytorchTensorFlow各有千秋,任选一个学习都...
  • pytorchtensorflow的区别和选择

    千次阅读 2019-10-24 23:32:15
    pytorchtensorflow的区别 1图的创建及调试 pytorch 图结构的创建是动态的,即图是运行时创建;更易调试pytorch代码,调试pytorch代码就像调试python代码一样,可以利用pdp在任何地方设置断点; tensorflow ...
  • PyTorchTensorflow的模型转换

    千次阅读 多人点赞 2020-10-30 17:29:43
    在本文中,我们将学习如何将PyTorch模型转换为TensorFlow。 如果您是深度学习的新手,那么使用哪种框架可能会让您不知所措。我们个人认为++PyTorch是您应该学习的第一个框架++,但它可能不是您想要学习的唯一框架。 ...
  • 王老师,我想深度学习,到底是该 Tensorflow还是 PyTorch? 没有水晶球,我也不知道谁会最终胜出。 从现状来看,PyTorch 的发展势头非常迅猛。在深度学习的顶会上,相关论文增速大幅超越 Tensorflow 。 ...
  • Pytorch VS TensorFlow (2020年最新对比)

    千次阅读 2021-03-11 15:06:30
    现在的主流深度学习框架,主要是 Google 系的 TensorFlow 以及 Facebook 系的 Pytorch,其他还有 Keras,Caffe, 微软的 CNTK 等 2020年结束,TF 和 Pytorch 两大框架基本上可以说是平分天下!形势有点像手机操作...
  • 功能组件(优化器、评估指标、Module管理),对比学习pytorchtensorflow两者的API接口,和语法。一篇文档同时拥有pytroch、tensorflow,美滋滋。
  • PytorchTensorflow,哪个更适合你?

    万次阅读 2021-01-08 17:00:00
    本文将探讨PyTorchTensorFlow这两种流行深度学习框架之间的关键相似点和不同点。为什么选择这两个框架,而不是其他的呢?目前有很多的深度学习框架,而且很多都可用于实际的生产,...
  • 并不是所有的回归或分类问题都需要通过深度学习来解决。 因此, 机器学习并不需要解决每... 对于这些情况,PyTorchTensorFlow可能会非常有效,尤其是如果已经有与框架模型库中所需模型相似的训练模型。 [理解机...
  • 一文说清楚pytorchtensorFlow的区别究竟在哪里

    万次阅读 多人点赞 2018-11-19 23:05:52
    最近用了一点pytorch,想着稍稍理一下,这样一个和TensorFlow抗衡的一个框架,究竟是何方神圣? 首先我们要搞清楚pytorchTensorFlow的一点区别,那就是pytorch是一个动态的框架,而TensorFlow是一个静态的框架。...
  • 点击上方“小白视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达 ❝“库开发人员不再需要在框架之间进行选择。”❞来自德国图宾根人工智能中心的研究人员介绍了一种新的Py...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,812
精华内容 9,524
关键字:

学pytorch还是tensorflow