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

日前,英伟达深度学习项目实习生Dominic Monn在medium上发文总结了他使用PyTorch和TensorFlow的一些体会,在文章中,他从安装、使用、文件、社群等方面简单对比了这两种框架。 他曾是TensorFlow用户,加入英伟达后开始使用PyTorch,下面是的他的一些使用体验。

安装

PyTorch安装起来很容易,也很直接,大家可以通过PIP来安装,也可以直接选择源码安装。PyTorch也提供Docker图,大家可以在项目中把Docker图用作base image。

PyTorch并不像TensorFlow一样已经指定好CPU和GPU,虽然它的这一特征可以让安装更加简单,但如果在项目中想要同时支持GPU和CPU,将会产生更多代码。

使用

PyTorch提供非常Python化的API接口,这与TensorFlow有很大差别,TensorFlow需要先定义所有的张量和图,然后再执行相应的会话操作。虽然PyTorch的这一特性使得代码变多了,但会更加清晰。

PyTorch图必须定义在从PyTorch nn.Module类继承过来的类中,运行图的时候会调用forward()函数,通过这种“约定优于配置”(convention over configuration)的方式,图的位置一直处于可知状态,也不会在余下的代码中定义变量。

你可能会需要一段时间来适应PyTorch中的这种“新”方法,不过如果你以前在深度学习的研究之外用过Python,这种方法对你来说会很直观。

也有一些人这样评价——与TensorFlow相比,PyTorch在许多模型上都有更加优秀的表现。

文件

PyTorch的大部分文档都是完整的,我每次都能成功找到函数或模块的定义。TensorFlow所有的函数都在一个页面,而PyTorch不同于TensorFlow,每个模块只用一个页面。如果你要用Google找一个函数,这会有点困难。

社群

很明显,PyTorch社群不像TensorFlow那么庞大,但很多人都喜欢在业余时间用PyTorch,即使他们工作时使用的是TensorFlow。我认为,一旦PyTorch发布正式版,PyTorch社群会变得更大。在目前,仍然很难找到非常精通PyTorch的人。

不过它的社群也足够大了,如果在官方论坛上提出问题,通常很快就能得到解答。许多优秀神经网络模型也有PyTorch的操作样例了。

工具和辅助功能

虽然PyTorch能提供相当多的工具,但仍然缺少一些非常有用的部分。例如它没有类似于TensorBoard这种非常有用的工具,这会导致很难进行可视化。

此外它也缺失一些常用的辅助功能,比起TensorFlow来说需要我们自己写更多的代码。

总结

PyTorch是TensorFlow之外一个非常好的选择,虽然 PyTorch仍在测试阶段,我希望在可用性、文件和性能方面它能有更多的改变和进步。PyTorch非常Python化,用起来很容易。它的社群活跃,文件齐全,据称它比TensorFlow更快。然而,它的社群比起TensorFlow来说,仍然只是九牛一毛,并且缺失了诸如 TensorBoard等一些非常有用的工具。

AI研习社注,除了Dominic Monn近日对这两种框架的对比, 斯坦福大学计算机科学博士生Awni Hannun也曾发文撰写了这两个框架之间的主要差异,详情可以参见用PyTorch还是TensorFlow?斯坦福大学CS博士生带来全面解答(http://t.cn/RN8Pr6S)。

原文发布于微信公众号 - AI研习社(okweiwu)

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏林浩威的专栏

使用机器学习算法打造一个简单的“微博指数”

写这篇文章的契机,是我在某天看完腾讯指数的推送后,突发奇想,想自己实现类似这样的一个东西,感觉蛮好玩的。然后就在上周末,利用了一些空余时间,写了一个简单的舆情监...

7404
来自专栏机器之心

业界 | 英伟达开源硬件加速项目NVDLA:一种标准化的推断加速框架

3509
来自专栏AI研习社

呵,我复现一篇深度强化学习论文容易吗

去年,OpenAI和DeepMind联手做了当时最酷的实验,不用经典的奖励信号来训练智能体,而是根据人类反馈进行强化学习的新方法。有篇博客专门讲了这个实验 Le...

1542
来自专栏大数据文摘

从人脸识别到情感分析,这有50个机器学习实用API!

1635
来自专栏机器之心

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

3889
来自专栏IT派

从人脸识别到情感分析,50个机器学习实用API

API是一套用于构建应用软件程序的规范,协议和工具。在本文中,我们从2017年的清单中删除了停用的API,并利用新元素对其进行了更新。并且,所有的API被归类到...

1271
来自专栏机器之心

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

选自Medium 作者:Dominic Monn 机器之心编译 参与:路雪、刘晓坤 本文作者Dominic Monn之前是 TensorFlow 的用户,最近开...

3788
来自专栏机器之心

资源 | 一文盘点10大移动端机器学习框架

选自hopinfirst.com 作者:James Tredwell 机器之心编译 参与:路雪、黄小天 本文介绍了适用于移动端的 10 个机器学习框架,包括针对...

3694
来自专栏数据科学与人工智能

【应用】信用评分:第9部分 - 计分卡实施:部署,生产和监测

“知识不是力量,知识的实施就是力量。” - 评分卡或信贷策略的真正好处仅在实施时明显。 CRISP-DM框架的最后阶段 - 实施 - 代表从数据科学领域向信息技...

1295
来自专栏目标检测和深度学习

SCI论文快速翻译,免费无限制!OCR识别,阅读文献必备!

科研人员在阅读外文文献时,经常会碰到看不懂的专业词汇或语句,需要将其复制到在线词典翻译。

3732

扫码关注云+社区

领取腾讯云代金券