为什么适用于Python的TensorFlow正在缓慢消亡
科技领域一直存在着一种「教派之争」。无论是关于不同操作系统、云服务提供商还是深度学习框架的利弊之争,只要喝上几杯啤酒,事实就会被抛到一边,人们就开始就像争夺圣杯一样,为他们支持的技术而战。
关于 IDE 的讨论似乎没有尽头,有些人喜欢 VisualStudio,有些人喜欢 IntelliJ,还有一些人更偏爱普通的旧编辑器,如 Vim。总有人说,爱用的文本编辑器往往会反映出用户的性格,这听起来似乎有点荒唐。
在 AI 技术兴起后,深度学习框架 PyTorch 和 TensorFlow 两大阵营似乎也爆发了类似的「战争」。这两个阵营背后都有大量的支持者,并且他们都有充足的理由来说明为什么他们所喜欢的框架是最好的。
话虽如此,但数据显示出一个再明显不过的事实。TensorFlow 是目前应用最广泛的深度学习框架。它每个月在 StackOverflow 上收到的问题几乎是 PyTorch 的两倍。
但另一方面,PyTorch 最近的发展势头很好,TensorFlow 的用户一直没有增长。在这篇文章发表之前,PyTorch 一直在稳步获得关注。
为了完整起见,下图还展示了与 TensorFlow 几乎同时发布的 Keras。显然,Keras 近年来的表现不尽人意,简单来说是因为 Keras 有点简单,对于大多数深度学习从业者的需求来说太慢了。
PyTorch 的热度仍在增长,而 TensorFlow 的增长已经停滞
图表来自 StackOverflow trends
TensorFlow 的 StackOverflow 流量可能不会快速下降,但它仍然是在下降。所以人们有充分的理由认为,这种下降趋势在未来几年将会更加明显,特别是在 Python 领域。
PyTorch 是更 python 化的框架
谷歌主导开发的 TensorFlow 是 2015 年底出现在深度学习派对上的首批框架之一。然而就像任何软件一样,第一个版本使用起来总是相当麻烦。
这也正是 Meta(Facebook)开始研发 PyTorch 的原因,作为一种与 TensorFlow 功能相似,但操作起来更加便捷的技术。
TensorFlow 的研发团队很快就注意到了这一点,并在 TensorFlow 2.0 大版本更新中采用了许多 PyTorch 上最受欢迎的特性。
一个好的经验法则是用户可以在 TensorFlow 中做任何 PyTorch 能做的事情。它将花费两倍的精力来编写代码。即使在今天,它也不是那么直观,而且感觉很不 python。
另一方面,对于喜欢使用 Python 的用户来说,PyTorch 的使用体验非常自然。
许多公司和学术机构不具备构建大型模型所需的强大计算能力。然而在机器学习方面,规模才是王道;模型越大,性能越好。
在 HuggingFace 的帮助下,工程师可以使用大型、经过训练的和调优的模型,只需几行代码就可以将它们合并到他们的工作流程管道中。然而,这些模型中的 85% 只能与 PyTorch 一起使用,这令人惊讶。只有大约 8% 的 HuggingFace 模型是 TensorFlow 独有的。其余部分可共用于两个框架。
这意味着如今的很多用户如果打算使用大模型,那么他们最好远离 TensorFlow,不然就需要投入大量的计算资源来训练模型。
PyTorch 更适合学生和研究使用
PyTorch 在学术界更受欢迎。这么说并非没有依据:四分之三的研究论文使用的是 PyTorch。甚至在那些一开始使用 TensorFlow 的研究人员中 —— 记住,在深度学习方面它出现的更早 —— 大多数人现在也已经转向使用 PyTorch 了。
这种令人惊讶的趋势会持续下去,尽管谷歌在 AI 研究中有着举足轻重的地位,并且一直主要使用 TensorFlow。
更顺理成章的是,研究影响教学,决定着学生将会学到什么。一个使用 PyTorch 发表了大部分论文的教授将更倾向于在讲座中使用它。他们不仅可以更轻松地讲授和回答有关 PyTorch 的问题,也可能对 PyTorch 的成功抱有更强烈的信念。
因此,大学生对 PyTorch 的了解可能比 TensorFlow 多得多。而且,考虑到今天的大学生就是明天的打工人,那么这一趋势的走向就可想而知……
PyTorch 的生态系统发展得更快
到头来,只有当参与到生态系统中时,软件框架才重要。PyTorch 和 TensorFlow 都有相当发达的生态系统,包括除了 HuggingFace 之外的训练模型的存储库、数据管理系统、故障预防机制等等。
值得一提的是,到目前为止,TensorFlow 的生态系统仍然比 PyTorch 稍微发达一点。但请记住,PyTorch 是后来才出现的,并且仅仅在过去几年中就有了相当多的用户增长量。因此,PyTorch 的生态系统可能会未来的某一天超过 TensorFlow。
TensorFlow 的基础设施部署更好
尽管 TensorFlow 代码编写起来很麻烦,但一旦编写完成,它的部署要比 PyTorch 容易得多。TensorFlow services 和 TensorFlow Lite 等工具部署到云、服务器、移动和物联网设备的过程顷刻间能完成。
另一方面,在部署发布工具方面,PyTorch 一直是出了名的慢。话虽如此,它最近一直在加速缩小与 TensorFlow 的差距。
目前还很难预测,但 PyTorch 很有可能在未来几年赶上甚至超过 TensorFlow 的基础设施部署。
TensorFlow 代码可能还会存在一段时间,因为在部署后切换框架的成本很高。然而,可想而知,新的深度学习应用程序将越来越多地使用 PyTorch 进行编写和部署。
TensorFlow 并不全是 Python
TensorFlow 并没有销声匿迹。只是不像以前那么炙手可热了。
核心原因在于,许多使用 Python 进行机器学习的人正在转向 PyTorch。
需要注意的是,Python 并不是机器学习的唯一语言。它是机器学习的代表性编程语言,这也是 TensorFlow 开发人员将支持集中在 Python 上的唯一原因。
现在,TensorFlow 也可以与 JavaScript、Java 和 C++ 一起使用。社区也开始开发支持其他语言,如 Julia、Rust、Scala 和 Haskell 等。
另一方面,PyTorch 极度以 Python 为中心 —— 这就是为什么它给人的感觉如此 Python 化。即使它有一个 C++ API,但它对其他语言的支持程度还不及 TensorFlow 的一半。
可以想象,PyTorch 将在 Python 中取代 TensorFlow。另一方面,TensorFlow 凭借其卓越的生态系统、部署功能以及对其他语言的支持,仍将是深度学习领域的一员大将。
对 Python 的喜爱程度决定了下一个项目是选择 TensorFlow 还是 PyTorch。
原文链接:https://thenextweb.com/news/why-tensorflow-for-python-is-dying-a-slow-death
以上是为什么适用于Python的TensorFlow正在缓慢消亡的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undress AI Tool
免费脱衣服图片

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

本周加密市场迎来微妙转折。Bitcoin在约$119,000附近陷入盘整,波动收窄,而多数主流山寨币则展现出强劲反弹势头。这一分化现象引发广泛关注:是否预示着资金正从比特币向altcoins转移,山寨币轮动行情悄然启动?尽管Bitcoin仍牢牢掌控市场主导地位,但山寨币季节指数(AltseasonIndex)已悄然回升,释放出潜在变盘信号。山寨币普涨,Bitcoin横盘蓄力近期市场结构出现明显变化。Bitcoin的市场主导率已下滑至58.54%,24小时内降幅达5.32%,而Ether

Coin是自有区块链的原生资产,如BTC、ETH,用于支付费用和激励网络;Token则基于现有区块链(如以太坊)通过智能合约创建,代表资产、权限或服务,依赖宿主链运行,如UNI、LINK,需用ETH支付交易费。

目录当前价格走势与关键技术信号推动LINK上涨的核心因素鲸鱼与机构资金强势入场战略储备机制强化通缩预期传统金融巨头采用加速生态扩张项目基本面:主导现实世界资产(RWA)token化浪潮价格预测:短期动能与长期潜力总结当前价格走势与关键技术信号阻力与支撑位:若今日有效突破24.64美元,LINK的下一个目标为斐波那契0.786回撤位26.46美元,突破后可能挑战2024年高点30.93美元。关键支撑

要调试Python脚本,需先安装Python扩展并配置解释器,然后创建launch.json文件设置调试配置,接着在代码中设置断点并按F5启动调试,脚本将在断点处暂停,允许检查变量和单步执行,最终通过查看控制台输出、添加日志或调整参数等方式排查问题,确保环境正确后调试过程简单高效。

Tokens是基于区块链的数字资产,在DeFi中发挥核心作用,包括治理、效用、稳定币、证券型及LP Tokens等类型,广泛应用于去中心化交易、借贷、收益耕作和NFT等领域,通过智能合约实现透明高效运作,同时需注意智能合约、无常损失、价格波动等风险,并选择合适存储安全管理资产。

yield关键字用于定义生成器函数,使其能暂停执行并逐个返回值,之后从暂停处恢复;生成器函数返回生成器对象,具有惰性求值特性,可节省内存,适用于处理大文件、流数据和无限序列等场景,且生成器是迭代器,支持next()和for循环,但无法倒回,必须重新创建才能再次迭代。

Render是什么?区块链重塑图形渲染生态Render是一个基于区块链技术打造的去中心化GPU渲染网络,致力于打破传统图形渲染领域的资源集中格局。它通过智能合约机制,将全球范围内的算力供需双方高效连接:内容创作者(如电影制作公司、游戏开发团队、AI实验室等):可在平台上提交复杂的渲染任务,并以RNDR代币支付费用;算力提供者(拥有闲置GPU的个人或机构):通过接入网络贡献计算能力,完成任务后获得RNDR代币奖励。该模式有效解决了传统渲染流程中的多项瓶颈:成本优化:利用全球分布式算力资

确保已安装Python并将其添加到系统PATH,通过终端运行python--version或python3--version验证;2.将Python文件保存为.py扩展名,如hello.py;3.在SublimeText中创建自定义构建系统,Windows用户使用{"cmd":["python","-u","$file"]},macOS/Linux用户使用{"cmd":["python3
