Reddit引爆框架决战!TensorFlow遭疯狂吐槽,PyTorch被捧上神坛

简介: PyTorch还是tensorflow更好?这个没有答案的问题最近登上了Reddit的热榜第一,「甜咸之争」你更中意哪个?

微信图片_20220112174506.jpg


你用pyTorch还是用tensorflow?

 

对于不同人群可能有不同的答案,科研人员可能更偏爱pyTorch,因其简单易用,能够快速验证idea来抢占先机发论文。

 

有从业人员预测,学术界pyTorch未来会一枝独秀。

 

微信图片_20220112174508.png

 

但对工业人员来说,tensorflow可能是更好的选择,相关软件生态更有利于部署,如高性能深度学习TensorRT、移动端tensorflow Lite、多种编程语言的API等。

 

在Keras的加持下,易用易学性得到了极大增强,未来可能会有更多TF boys的出现。

 

微信图片_20220112174510.png

 

深度学习领域的各种框架总数超过了二十个,但是许多框架都缺乏维护,社区并不活跃。造就了部分框架垄断的情况。


Reddit小哥发出疑问:我该学哪个框架?


社交媒体有很多宣传pyTorch特别好用的帖子,

 

在社交媒体上看到了很多关于 pyTorch 有多棒的帖子,但是我只会用tensorflow。我觉得tensorflow非常强大,不管是科研还是工业部署上都有广泛的应用。

 

我弄不明白,我应该转到pyTorch上吗?还是说都学习?他们到底有什么差别?为什么大家都吹捧pyTorch而贬低tensorflow?

 

我想知道,你用哪个框架,以及为什么不用另一个的原因。


pyTorch派的回答


这位小哥的灵魂拷问可以说是困扰AI从业新手的一个必经难题。这可以类比为php是世界上最好的语言。

 

微信图片_20220112174514.png

 

有pyTorch用户的网友在下面回复,获得最高赞。

 

我用tensorflow1.x几年了,感觉自己是个专家。当我第一次尝试pyTorch后,发现tensorflow无法实现的图形操作,在pyTorch上非常容易实现。不到一个月,我就觉得我用pyTorch的水平和tensorflow一样好了。

 

事实证明,tensorflow所谓的专业知识都是晦涩的API,而pyTorch则是为了构建一个深度学习模型。

 

tensorflow不懂设计。

 

知乎网友对tensorflow的态度也都是API过于混乱,并认为静态图和动态图并不是他们之间最大的区别。

 

微信图片_20220112174516.png微信图片_20220112174518.png

 



当然,最犀利的当属Karpathy的评论:

用了pyTorch几个月以后,腰不酸了,腿不疼了,皮肤光滑了,视力都变好了。(暗示tensorflow辣眼睛?)


微信图片_20220112174520.png

 

也有pyTorch用户觉得写起来就像写python代码一样,没有额外的学习成本。

 

tensorflow派怎么说?


也有网友坚定地喜欢tensorflow,但也觉得tensorflow对新手太不友好了,如tf.Session,tf.Estimator,每个人都在写自己的部分,没有统一的官方高级API。

 

到了2021年,tf阵营有了TF 2.x,变得和Keras越来越像了。虽然tensorflow不是很完美,但是tf.keras是完美的。(人生苦短,我用Keras)

 

也有网友认为,pyTorch在生产环境的部署远远不如tensorflow,在移动端也没有好的解决方案,只适合科学研究。

 

其他框架在默默流泪

 

在GitHub的排行榜上,tensorflow一骑绝尘,是Keras的三倍还多。

 

深度学习从业者的入门大多是从tensorflow起步,被合并的Keras也超越了pyTorch。

 

微信图片_20220112174522.png微信图片_20220112174524.png微信图片_20220112174526 - 副本.png微信图片_20220112174528.png微信图片_20220112174530.png

微信图片_20220112174532.png


由此可见,工业部署对tensorflow还是十分依赖的,毕竟pyTorch也依赖tensorboard等。

 

国产框架飞浆还有很长的路要走。

 

结语


正所谓「形而上者谓之道,形而下者谓之器」。

 

当水平还处于比较低的时候,更关注于具体的实践细节。随着水平的提高,框架已是身外之物,创造出更好,更高性能的模型才是AI之道。


参考资料:


https://www.reddit.com/r/MachineLearning/comments/m3boyo/d_why_is_tensorflow_so_hated_on_and_pytorch_is/

相关文章
|
2月前
|
机器学习/深度学习 PyTorch TensorFlow
TensorFlow与PyTorch深度对比分析:从基础原理到实战选择的完整指南
蒋星熠Jaxonic,深度学习探索者。本文深度对比TensorFlow与PyTorch架构、性能、生态及应用场景,剖析技术选型关键,助力开发者在二进制星河中驾驭AI未来。
679 13
|
2月前
|
机器学习/深度学习 PyTorch TensorFlow
66_框架选择:PyTorch vs TensorFlow
在2025年的大语言模型(LLM)开发领域,框架选择已成为项目成功的关键决定因素。随着模型规模的不断扩大和应用场景的日益复杂,选择一个既适合研究探索又能支持高效部署的框架变得尤为重要。PyTorch和TensorFlow作为目前市场上最主流的两大深度学习框架,各自拥有独特的优势和生态系统,也因此成为开发者面临的经典选择难题。
|
3月前
|
机器学习/深度学习 算法 PyTorch
【Pytorch框架搭建神经网络】基于DQN算法、优先级采样的DQN算法、DQN + 人工势场的避障控制研究(Python代码实现)
【Pytorch框架搭建神经网络】基于DQN算法、优先级采样的DQN算法、DQN + 人工势场的避障控制研究(Python代码实现)
103 1
|
3月前
|
机器学习/深度学习 算法 PyTorch
【DQN实现避障控制】使用Pytorch框架搭建神经网络,基于DQN算法、优先级采样的DQN算法、DQN + 人工势场实现避障控制研究(Matlab、Python实现)
【DQN实现避障控制】使用Pytorch框架搭建神经网络,基于DQN算法、优先级采样的DQN算法、DQN + 人工势场实现避障控制研究(Matlab、Python实现)
183 0
|
11月前
|
机器学习/深度学习 并行计算 PyTorch
TorchOptimizer:基于贝叶斯优化的PyTorch Lightning超参数调优框架
TorchOptimizer 是一个基于贝叶斯优化方法的超参数优化框架,专为 PyTorch Lightning 模型设计。它通过高斯过程建模目标函数,实现智能化的超参数组合选择,并利用并行计算加速优化过程。该框架支持自定义约束条件、日志记录和检查点机制,显著提升模型性能,适用于各种规模的深度学习项目。相比传统方法,TorchOptimizer 能更高效地确定最优超参数配置。
595 7
|
10月前
|
机器学习/深度学习 PyTorch TensorFlow
深度学习工具和框架详细指南:PyTorch、TensorFlow、Keras
在深度学习的世界中,PyTorch、TensorFlow和Keras是最受欢迎的工具和框架,它们为研究者和开发者提供了强大且易于使用的接口。在本文中,我们将深入探索这三个框架,涵盖如何用它们实现经典深度学习模型,并通过代码实例详细讲解这些工具的使用方法。
|
7月前
|
机器学习/深度学习 PyTorch API
PyTorch量化感知训练技术:模型压缩与高精度边缘部署实践
本文深入探讨神经网络模型量化技术,重点讲解训练后量化(PTQ)与量化感知训练(QAT)两种主流方法。PTQ通过校准数据集确定量化参数,快速实现模型压缩,但精度损失较大;QAT在训练中引入伪量化操作,使模型适应低精度环境,显著提升量化后性能。文章结合PyTorch实现细节,介绍Eager模式、FX图模式及PyTorch 2导出量化等工具,并分享大语言模型Int4/Int8混合精度实践。最后总结量化最佳策略,包括逐通道量化、混合精度设置及目标硬件适配,助力高效部署深度学习模型。
1188 21
PyTorch量化感知训练技术:模型压缩与高精度边缘部署实践
|
3月前
|
机器学习/深度学习 存储 PyTorch
Neural ODE原理与PyTorch实现:深度学习模型的自适应深度调节
Neural ODE将神经网络与微分方程结合,用连续思维建模数据演化,突破传统离散层的限制,实现自适应深度与高效连续学习。
210 3
Neural ODE原理与PyTorch实现:深度学习模型的自适应深度调节
|
2月前
|
边缘计算 人工智能 PyTorch
130_知识蒸馏技术:温度参数与损失函数设计 - 教师-学生模型的优化策略与PyTorch实现
随着大型语言模型(LLM)的规模不断增长,部署这些模型面临着巨大的计算和资源挑战。以DeepSeek-R1为例,其671B参数的规模即使经过INT4量化后,仍需要至少6张高端GPU才能运行,这对于大多数中小型企业和研究机构来说成本过高。知识蒸馏作为一种有效的模型压缩技术,通过将大型教师模型的知识迁移到小型学生模型中,在显著降低模型复杂度的同时保留核心性能,成为解决这一问题的关键技术之一。
|
9月前
|
机器学习/深度学习 JavaScript PyTorch
9个主流GAN损失函数的数学原理和Pytorch代码实现:从经典模型到现代变体
生成对抗网络(GAN)的训练效果高度依赖于损失函数的选择。本文介绍了经典GAN损失函数理论,并用PyTorch实现多种变体,包括原始GAN、LS-GAN、WGAN及WGAN-GP等。通过分析其原理与优劣,如LS-GAN提升训练稳定性、WGAN-GP改善图像质量,展示了不同场景下损失函数的设计思路。代码实现覆盖生成器与判别器的核心逻辑,为实际应用提供了重要参考。未来可探索组合优化与自适应设计以提升性能。
778 7
9个主流GAN损失函数的数学原理和Pytorch代码实现:从经典模型到现代变体

热门文章

最新文章

推荐镜像

更多