PyTorch 1.8 和 Tensorflow 2.5,我该用哪个?

TensorFlow与PyTorch:深度学习框架的比较分析 TensorFlow和PyTorch在使用上有一些差异,其中TensorFlow使用静态计算图的概念,需要更多的代码来定义和运行模型,而PyTorch则采用动态计算图的方式,更加直观和易于调试。在接下来的学习和实践过程中,读者可以根据具体的需求和项目要求选择适合自己的框架,并深入研究和应用其中的技术和工具。深度学习领域不断发展和演进,TensorFlow和PyTorch也在不断更新和改进,保持对最新技术的关注和学习,将有助于不断提升自己在人工智能领域的能力和竞争力。最终的选择将取决于具体的任务和个人偏好。 阅读详情

选自towards data science 作者:Mostafa Ibrahim

机器之心编译

自深度学习重新获得公认以来,许多机器学习框架层出不穷,争相成为研究人员以及行业从业人员的新宠。从早期的学术成果 Caffe、Theano,到获得庞大工业支持的 PyTorch、TensorFlow,许多研究者面对大量的学习框架不知该如何选择?

机器学习框架。

Tensorflow / Keras 和 PyTorch 是迄今为止最受欢迎的两个主要机器学习库。TensorFlow 由谷歌团队开发,于 2015 年发布。而 PyTorch 则由 Facebook 的团队开发,并于 2017 年在 GitHub 上开源。

为了充分发挥不同机器学习框架的优势,许多机器学习从业者对不同框架进行了比较,通过对比优缺点,以选择最适合自己的框架。

 在本文中,我们将从以下两个方面对机器学习库(PyTorch 1.8 和 Tensorflow 2.5)进行比较:

  • 最新发行版本中的新增功能;

  • 使用哪个以及为什么。

Tensorflow 2.x VS Pytorch 1.8

Tensorflow 2.x

TensorFlow 1 和 TensorFlow 2.x 之间有很多变化。第一个是 Tensorflow.js. 的发布。随着 Web 应用程序越来越占主导地位,在浏览器上部署模型的需求大大增加。借助 Tensorflow.js,你可以使用 Node 在浏览器中运行现有的 python 模型、重新训练现有的模型,并使用 Javascript 完全构建和训练模型(不需要 python)。

Tensorflow 2.x 中的另一个版本是 Tensorflow Lite,一个轻量级库,用于在移动和嵌入式设备上部署模型。这是因为移动和 Web 应用程序是两种最主要的应用程序类型。使用 Tensorflow Lite,你可以简单地将现有模型转换为「compressed flat buffer」,然后将 buffer 加载到移动设备或任何其他嵌入式设备中。这期间发生的主要优化过程是将 32 位浮点值转换成 8 位,这更适合于嵌入式设备(更少的内存使用)。

此外还包括 Tensorflow Extended(TFX)的发布,它是用于部署生产 ML pipeline 的端到端平台。其在机器学习的 3 个最重要领域(web 应用程序、移动应用程序和生产管理)方面做得很好。机器学习生产 pipeline 仍需要大量研究和开发。TFX 可以应对经典的软件生产挑战,例如可扩展性、可维护性和模块化。此外,它还可以帮助解决机器学习的特定挑战,例如持续在线学习、数据验证,数据管理等。

PyTorch 1.8

与 Tensorflow Lite 相似,PyTorch 改进了其现有的 Pytorch Mobile。该框架可以量化、跟踪、优化和保存适用于 Android 和 iOS 的模型。此外还发布了 Pytorch Lite Interpreter 的原型,该原型可减小移动设备上二进制运行时的大小。此外,还通过更具体的错误处理和 pipeline 并行为分布式训练提供了更多支持。Pytorch Profiler 用于分析 APP、模型的执行时间、执行流程、内存消耗等。

尽管 Pytorch lightning 不是 PyTorch 1.8 的一部分,但还是值得一提。Pytorch lightning 已发布,可以使编码神经网络更加简单。可以将其视为 Pytorch 的 Keras,使用广泛,其中的原因可归结为 Keras 显著的改进了 Tensorflow,因为它使实现模型变得更加容易和快捷。在 Pytorch 中,Pytorch lightning 起到了相同的作用。

该如何选择?

从本质上讲,这两个库都是相当不错的,它们在性能和功能上非常接近。总的来说,两个库之间的编码风格有所不同。

PyTorch 以其 OOP(面向对象编程)风格而闻名。例如,当创建自定义模型或自定义数据集时,你很可能会创建一个新类,该类继承默认的 PyTorch 库,然后在进行代码调整。尽管 OOP 以某种方式为代码提供了一种结构,但就代码行数而言,会使代码变得很长。

另一方面,当使用 Tensorflow 时,你很可能会使用 Keras。例如在进行 Kaggle 比赛时(监督学习图像分类、目标检测、图像分割、NLP 等任务),可以发现 Keras 的代码实现比 PyTorch 短。作为初学者 / 中级人员,这是非常不错的选择,因为你不必花费大量时间阅读和分解代码行。

在某些情况下,需要在特定的机器学习领域中寻找特定的模型。例如,当进行目标检测比赛时,想要实现 DETR(Facebook 的 Data-Efficient transformer),结果发现大部分资源都是用 PyTorch 编写的,因此在这种情况下,使用 PyTorch 更加容易。另外,PyTorch 的代码实现更长,因为它们涵盖了许多底层细节。这既是优点也是缺点。当你是初学者时先学习低层级的细节,然后再使用更高层级的 API(例如 Keras)非常有帮助。但是,这同时也是一个缺点,因为你会发现自己迷失于许多细节和相当长的代码段中。因此,从本质上讲,如果你的工作期限很紧,最好选择 Keras 而不是 PyTorch。

原文链接:https://towardsdatascience.com/pytorch-vs-tensorflow-2021-d403504d7bc3

点阅读原文,来菜鸟学投资星球!
Macbook m1芯片版本怎么安装tensorflow2.0和pytorch1.8 MACbook m1芯片怎么安装tensorflow和pytorch秀一下最终结果环境准备安装conda创建tensorflow虚拟环境tensorflow测试代码完成tensorflow安装后再次搭建pytorch虚拟环境 秀一下最终结果 环境准备 从Python官网下载支持Apple Silicon的版本 https://www.python.org/downloads/mac-osx/ 2,完成后按默认条件安装即可。在终端输入python3,可看到您下载的Python版本 安装conda 1, 阅读详情

相关推荐

m1 Mac 使用 miniforge 安装python3.9.7 和 tensorflow2.5 & pytorch1.8

m1 mac 安装 python3.8 tensorflow2.5 pytorch1.8环境

鲨鱼儿的博客 9709

你选谁?

点击 机器学习算法与Python学习 ,选择加星标精彩内容不迷路选自towards data science,作者:Mostafa Ibrahim机器之心编译PyTorch(1.8)和Te...

机器学习算法与Python学习 555

基于Tensorflow和PyTorch深度学习环境安装教程: Tensorflow 2.10.1 加 CUDA 11.8 加 CUDNN8.8.1加PyTorch2.0.0

安装基于TensorFlow 2.10.1、CUDA 11.8、cuDNN 8.8.1以及PyTorch 2.0.0的深度学习环境涉及到多个组件的协调安装。

IT深耕十余载,大道之简 1921

原创 | 深度学习框架比较,我该选择哪一个?

近年来,深度学习在很多机器学习领域都有着非常出色的表现,在图像识别、语音识别、自然语言处理、机器人、网络广告投放、医学自动诊断和金融等领域有着广泛应用。面对繁多的应用场景,深度学习框架有...

数据派THU 1862

Anaconda同时安装Tensorflow和Pytorch(Windows系统)

Anaconda同时安装Tensorflow和Pytorch(Windows系统)

阿布拉卡的博客 9041

Mac M1安装Miniconda+支持GPU的TensorFlow和PyTorch

电脑系统:MacBook Pro M1 + Mac Ventura 13.5安装:Miniconda + tensorflow-macos-2.13.0 + torch-2.0.1。

m0_55308155的博客 4617

TensorFlow和PyTorch有什么区别?哪个更好用?

计算图模式:TensorFlow采用静态图模式,即先定义计算图然后再运行。而PyTorch采用动态图模式,即在运行时构建计算图。 编程风格:TensorFlow使用静态计算图,因此通常需要先定义计算图,然后再运行。这种方式可以使TensorFlow非常高效,但可能需要编写更多的代码。PyTorch则采用动态计算图,这使得代码更易于编写和调试。

m0_60720471的博客 2594

Ai模型-PyTorch和Tensorflow的区别

PyTorch更适合快速开发、原型设计、学术研究和动态变化的模型构建场景。TensorFlow适合大规模的生产环境,尤其是需要跨设备部署、分布式训练或是完整机器学习流水线的任务。技术选型时可以基于项目需求、开发人员的经验以及未来的生产需求来选择。如果你的任务是实验性质的,PyTorch 更为灵活;如果你计划进行大规模生产部署,TensorFlow 的生态系统无疑更为完善。

pinweiyun的博客 3326

PyTorch 与 TensorFlow 怎么选

静态图在定义时使用了特殊的语法,就像学习一门新的语言,同时在构建静态图时需要考虑所有的情况,这导致静态图过于庞大,可能占用过多的显存,不过其运行速度相对较快。PyTorch 的设计符合人们的思维,它让用户尽可能地专注于实现自己的想法,所思即所得,不需要考虑太多框架本身的束缚。然而,作为一个还在快速发展探索的领域,人工智能研发人员实际需要的可能并没有这么复杂,他们更加希望快速地实现和尝试自己的想法,这也是为什么半路出家的 PyTorch 能够异军突起,一举成为最受欢迎的深度学习框架之一(可能没有“之一”)..

博文视点(北京)官方博客 3万+

ADC(三)Guard ring的设计艺术:从单元到系统的隔离策略

本文深入探讨了ADC设计中Guard ring(保护环)从单元到系统的多层次隔离策略。文章分享了从新手到专家的认知升级过程,详细分析了在单元内部进行微隔离、在模块间建立噪声屏障以及在系统层面规划全局隔离带的实用方法与设计艺术,强调了Guard ring对于提升混合信号电路性能和可靠性的关键作用。

weixin_28312391的博客 151

树莓派4B+红外传感器:手把手教你DIY一个能走黑线的智能小车(Python代码全解析)

本文详细介绍了如何使用树莓派4B和红外传感器DIY一个智能循迹小车,包括硬件配置、GPIO连接、Python代码实现及优化算法。通过动态PWM调速、状态机设计和赛道记忆算法,提升小车的循迹性能和稳定性。适合初学者和电子爱好者动手实践。

weixin_29188043的博客 269

PyTorch、TensorFlow最新版本对比,2021年了你选谁?

选自|towards data science作者|Mostafa Ibrahim来自|机器之心PyTorch(1.8)和Tensorflow(2.5)最新版本比较。自深度学习重新获得...

Python数据之道 820

7.19华为OD机试真题 新系统 - 物流仓储多维度成本利润综合查询系统 (Java/Py/C/C++/Js/Go)

7.19华为OD机试真题 新系统 - 物流仓储多维度成本利润综合查询系统 (Java/Py/C/C++/Js/Go)

算法大师! 618

m1 Mac 使用 miniconda 安装python3.8.11 和 tensorflow2.5 & pytorch1.8(推荐)

M1 mac 安装minicoda并安装tensorflow2.5&pytorch1,8

鲨鱼儿的博客 5677

【Linux】软件控制USB重新上电、加载:usbreset、hubpower、uhubctl

使用命令控制USB的供电、复位

郭老二 2187

60、磁悬浮主动隔振系统的LQR控制研究

本研究针对磁悬浮主动隔振系统,提出了一种结合ANN建模、LQR控制与MPGA优化的综合控制方案。通过建立系统的动力学与状态空间模型,利用混合训练算法的ANN精确描述MSVI的非线性和滞后特性,并设计基于最小力传递率的LQR控制器。为优化LQR的Q和R矩阵,引入多群体遗传算法(MPGA),有效克服传统GA的早熟收敛问题,提升搜索效率与控制性能。仿真结果表明,在单频、扫频、随机及冲击激励下,该方法显著降低传递力幅值,隔振效果远优于被动系统。研究验证了所提方法的有效性,为磁悬浮隔振技术的实际应用奠定了基础,并展望

linux6sysadmin的博客 127

conda安装tensorflow2.x和pytorch1.8.0的一些常用命令

本文提供了关于安装和使用Miniconda/Anaconda的详细指南,包括下载地址、镜像源配置、常用命令以及TensorFlow和PyTorch的安装方法。主要内容包括: 推荐开发者使用Miniconda,并提供了清华源下载地址 详细说明如何添加清华conda镜像源 列出常用的conda命令,如环境管理、包安装等 提供TensorFlow GPU版本的安装步骤和验证方法 介绍PyTorch的安装方式及版本选择建议 包含Jupyter Notebook的配置命令 提供pip安装包的国内镜像源加速方法 所有内

爱听许嵩歌的博客 5917

4、高级认证解决方案:Active Directory、LDAP、RADIUS和TACACS+深度解析

本文深入解析了多种高级认证解决方案,包括Active Directory、标准LDAP、RADIUS和TACACS+,涵盖其技术优势、配置步骤及适用场景。同时介绍了如何实现通用用户管理,包括使用第三方认证解决方案和ADSI自助用户管理。通过实际案例部署,展示了如何高效、安全地管理大规模用户认证与权限控制,为企业安全架构提供参考。

o4p5q6r7s的博客 305

PyTorch 1.8与TensorFlow 2.5 GPU版本安装指南

详解PyTorch 1.8和TensorFlow-gpu 2.5的安装方法,提供阿里云镜像加速、CUDA/cuDNN版本匹配建议及GPU可用性测试代码,附离线whl下载地址与验证脚本,助你快速部署深度学习环境。

weixin_42511373的博客 714

【雷达】一维和二维自适应波束形成(DBF))DBF附matlab代码

1 简介 数字波束形成技术是天线波束形成原理与数字信号处理技术相结合的产物,其广泛应用于阵列信号处理领域.由于电磁工作环境的恶化和大量射频干扰的存在,在极低的信干噪比(SINR)条件下进行目标检测和信息提取十分困难.对于阵列系统,往往采用自适应数字波束形成(ADBF)技术,来抑制强干扰和方向性干扰对有用信号的影响.介绍了数字波束形成器的基本原理及其DSP的实现结构.​ 2 完整代码 clc;clear all;close all;%%%%%%%%%%%%%%%%%一维DBF%%%%%%%%%%%%%

qq_59747472的博客 7267

Far planner代码系列(2)

graph_decoder系列(2) 承接上文 我们接着来看decoder_node.cpp的代码部分 void GraphDecoder::Init() { /* initialize subscriber and publisher */ //graph_sub_ 订阅节点/robot_vgraph 其类型是visibility_graph_msg/Graph的消息 graph_sub_ = nh.subscribe("/robot_vgrap...

博客 1534
上一篇: 对比excel,用python绘制柱状图时添加table数据表
下一篇: 一行代码损失数亿美元!来看看编程史上的著名bug!
菜鸟学Python
博客等级 码龄9年 8062粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值