观点 | PyTorch vs. TensorFlow之一个月用户体验

选自Medium

作者:Dominic Monn

机器之心编译

参与:路雪、刘晓坤

本文作者Dominic Monn之前是 TensorFlow 的用户,最近开始使用 PyTorch。经过一个月的使用之后,Dominic将自己的体验写了出来。文章从安装、使用、文档、社区、工具五个方面对 PyTorch 和 TensorFlow 进行了对比。

我之前是 TensorFlow 的用户,但是加入英伟达之后,我们决定转向 PyTorch(出于测试的目的)。以下是我的一些体验。

安装

PyTorch 的安装轻松直接,可以通过 PIP 或数据源安装。PyTorch 还提供 Docker 镜像,可用作项目的基图像。

PyTorch 没有专门的 CPU 版本和 GPU 版本,这一点与 TensorFlow 不同。这使安装更加便捷,但是如果你想同时支持 CPU 和 GPU 的使用,它需要生成更多代码。

需要注意的是,PyTorch 暂时无法提供官方的 Windows 分发。现在有非官方的 Windows 端口,但是并未得到 PyTorch 的支持。

使用

PyTorch 提供 Python 式的 API。这与 TensorFlow 不同,在 TensorFlow 中你需要先定义所有张量和图,再在会话中使用。

我认为,这将使代码变得更长,但是更简洁易懂。PyTorch 图必须在从 PyTorch nn.Module 类中继承的类中进行定义。图运行时会调用一个 forward() 函数。用这种「约定优于配置」方法,图的位置通常是已知的,且变量不用在后面的代码中进行定义。

这种「新」方法需要一些时间来适应,但是我认为,如果你在深度学习之外的领域中使用过 Python,那么你会发现这种方法非常直观。

根据一些评价,PyTorch 还在大量模型中展示了优于 TensorFlow 的性能。

文档

文档在大多数情况下是完整的。我查找函数或模块的定义时,从未失败过。TensorFlow 文档中所有的函数都在同一页,PyTorch 不同,它每个模块使用一页。如果你习惯了用 TensorFlow 查找函数的话,这可能有点难。

社区

很明显,PyTorch 社区没有 TensorFlow 社区大。但是,很多人喜欢在闲暇时间使用 PyTorch,即使在工作时间仍使用 TensorFlow。我认为如果 PyTorch 脱离 Beta,这种情况可能会有所改变。

当前,精通 PyTorch 的人仍然很少。

这个社区足够大,官方论坛的问题会得到快速回答,这样大量很棒的神经网络的示例实现就会被翻译成 PyTorch。

工具和助手

即使 PyTorch 提供大量的工具,但还缺少一些非常有用的工具。其中之一就是 TensorFlow 的 TensorBoard。这使得可视化稍微有点困难。

PyTorch 还缺少很多常用助手,比起 TensorFlow,这要求 PyTorch 用户更多依靠自己写代码。

结论

PyTorch 是 TensorFlow 的重要替代方案。由于 PyTorch 还在 Beta 中,所以我期待 PyTorch 的易用性、文档和性能都能够有更多改变和改进。

PyTorch 是很 Python 式的,用起来很舒适。它的社区和文档都很优秀,据说它还比 TensorFlow 稍快一点。

但是,PyTorch 社区与 TensorFlow 社区相比较小,且缺少很多有用的工具,如 TensorBoard。

原文链接:https://medium.com/towards-data-science/pytorch-vs-tensorflow-1-month-summary-35d138590f9

本文为机器之心编译,转载请联系本公众号获得授权。

原文发布于微信公众号 - 机器之心(almosthuman2014)

原文发表时间:2017-10-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI研习社

PyTorch vs. TensorFlow月度使用体验总结

日前,英伟达深度学习项目实习生Dominic Monn在medium上发文总结了他使用PyTorch和TensorFlow的一些体会,在文章中,他从安装、使用、...

430150
来自专栏AI科技大本营的专栏

整合PyTorch 0.4和Caffe 2,PyTorch 1.0能挑战TensorFlow吗?

【AI 科技大本营导读】5月2日,在加利福尼亚州举办的年度开发者 F8 大会上,Facebook 正式推出 PyTorch 1.0 。其实,早在 2017 年 ...

22530
来自专栏Albert陈凯

R语言的优劣

https://www.zhihu.com/question/19611094 作者:艾华丰 链接:https://www.zhihu.com/questio...

27930
来自专栏AI科技大本营的专栏

资源 | 10x Python开发者必读:本月Python文章TOP 10

翻译 | AI科技大本营 参与 | 刘畅 编辑 | Donna 【AI科技大本营导语】Medium热门博客Mybridge AI例行评出本月10篇有助于提升你职...

380150
来自专栏编程

10x Python开发者必读:本月Python文章TOP 10

翻译 | AI科技大本营 参与 | 刘畅 编辑 | Donna 【AI科技大本营导语】Medium热门博客Mybridge AI例行评出本月10篇有助于提升你职...

25070
来自专栏新智元

【TensorFlow开源2年官方回顾】下一个重要方向是分布式模型服务

【新智元导读】 TensorFlow Serving 开源的一年半时间里取得了许多进展和性能提升,包括开箱即用的优化服务和可定制性,多模型服务,标准化模型格式,...

29870
来自专栏机器之心

陈天奇等人提出TVM:深度学习自动优化代码生成器

40690
来自专栏企鹅号快讯

Unity机器学习代理ML-Agents v0.2版本发布

Unity机器学习代理最新版ML-Agents v0.2现已发布!在本版本里,我们作了以下改进: 为Unity SDK和Python API增加了新特性 更多新...

40160
来自专栏新智元

专访田渊栋 | Torch升级版PyTorch开源,Python为先,强GPU加速

【新智元导读】 PyTorch今天发布,这是一个支持强大的 GPU 加速的张量计算(类似numpy),构建基于 tape 的 autograd 系统的深度神经...

46480
来自专栏IT大咖说

当Elasticsearch遇见智能客服机器人

摘要 本次分享主要会介绍一下ES是如何帮我们完成NLP的任务的。在做NLP相关任务的时候,ES的相似度算法并不足以支撑用户的搜索,需要使用一些与语义相关的方法进...

69260

扫码关注云+社区

领取腾讯云代金券