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

AI科技评论按:日前,英伟达深度学习项目实习生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博士生带来全面解答

原文发布于微信公众号 - AI科技评论(aitechtalk)

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

2017年与机器学习相关的10大Python开源库

作者|Alan Descoins 译者|薛命灯 编辑|Emily Pipenv Pipenv 最初是由 Kenneth Reitz 开发的一个业余项目,旨在将其...

18610
来自专栏技术随笔

如何应用Python处理医学影像学中的DICOM信息

5065
来自专栏机器学习人工学weekly

机器学习人工学weekly-2018/4/1

注意下面很多链接需要科学上网,无奈国情如此 1. TensorFlow开发者峰会昨天召开,我觉得有趣的演讲有 - TF Hub ("一键"transfer l...

3028
来自专栏QQ会员技术团队的专栏

小明带你看WWDC 2017(day3实况)

作者介绍: 黄明,WWDC 2017大会的小时光茶社特派员 ,腾讯SNG增值产品部内容中心iOS组leader,主要负责手Q个性化业务、手Q WebView等项...

19210
来自专栏Data Analysis & Viz

Python网页爬虫&文本处理&科学计算&机器学习&数据挖掘兵器谱

周末时看到这篇不错的文章,其中介绍了诸多python第三方库和工具,与大家分享下,也算是门可罗雀的本号第一次转载文章。后续看到精彩的文章也会继续分享。

762
来自专栏CSDN技术头条

开发者不可错过的开源项目 —— 人工智能篇

推荐 10 个饱受好评且功能独特的开源人工智能项目 关于人工智能的项目,相信大家都看过或者用过不少了,但它们的大多数看上去都十分“高大上”,让人感觉要掌握他们犹...

1797
来自专栏数据魔术师

干货|十分钟快速复习禁忌搜索(c++版)

说到的话一定要做到!做到!到! 昨天向大家保证今天分享 Tabu Search (TS) 代码 c++ 版本,然后,小编就去熬了个夜... ...

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

【Python环境】Python 网页爬虫 &文本处理 & 科学计算 &机器学习 &数据挖掘兵器谱

曾经因为NLTK的缘故开始学习Python,之后渐渐成为我工作中的第一辅助脚本语言,虽然开发语言是C/C++,但平时的很多文本数据处理任务都交给了Python。...

2189
来自专栏Data Analysis & Viz

[资源]《动手学深度学习》by Amazon AI:李沐

上回介绍了下Github上的Awesome Deep Learning项目:包含深度学习的免费在线书籍、课程、视频及讲义、论文、教程、网站、数据集、框架和其他资...

1022
来自专栏AI研习社

PyTorch 到底好用在哪里?

提问内容如下: 之前非常熟悉 Tensorflow,后来都说 PyTorch 简单易上手,自己就去试了试。 PyTorch 连最基本的 maximum, min...

4354

扫码关注云+社区