开发 | 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 条评论
登录 后参与评论

相关文章

来自专栏人工智能头条

Pytorch还是Tensorflow?英伟达工程师帮你总结了

362
来自专栏生信技能树

如何通过Google来使用ggplot2可视化

今天是大年初二,这篇文章我只想传达一点: 没有什么菜鸟级别的生物信息学数据处理是不能通过Google得到解决方案的,如果有,请换个关键词继续Google! 第一...

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

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

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

2968
来自专栏老九学堂

谷歌最新开源酷炫项目集,前端、算法、机器学习都有了

2017年,Google 在 GitHub 上大约有 900 名活跃用户,共推送约 1100 个顶级库。 ? Google 开源了许多非常有价值的项目比如十分流...

4245
来自专栏PPV课数据科学社区

手把手教你学习R语言

随着分析数据的方式在近两年发生了翻天覆地的变化,随着互联网在人们的生活中广泛的普及,人手一部智能机的时代,人们的衣食住行都接上的互联网,这使得数据的获取量得以指...

4398
来自专栏奇点大数据

神器Pytorch(1)

话说,自从我自己入坑深度学习以来,也是用了不少的框架,什么Tensorflow、Chainer、Theano、Caffe、Torch等等。鉴于赶时髦以及对谷歌老...

3615
来自专栏AI研习社

一起来涂鸦吧!用风格迁移把iPhoneX的照片变成艺术画

自从Gatys发表了神经风格迁移算法,我们见证了海量的图片摇身一变成了艺术品。 算法用了一个前馈网络把给定图片的风格输入网络。我们还看到了超厉害的“非艺术气质的...

2555
来自专栏玉树芝兰

如何用 Python 和 gensim 调用中文词嵌入预训练模型?

利用 Python 和 Spacy 尝试过英文的词嵌入模型后,你是不是很想了解如何对中文词语做向量表达,让机器建模时捕捉更多语义信息呢?这份视频教程,会手把手教...

591
来自专栏专知

最新TensorFlow1.4.0教程完整版

【导读】主题链路知识是我们专知的核心功能之一,为用户提供AI领域系统性的知识学习服务,一站式学习人工智能的知识,包含人工智能( 机器学习、自然语言处理、计算机视...

3364
来自专栏清墨_iOS分享

OpenGLES- 拨开迷雾

一、OpenGLES简介(请自行百度) 使用OpenGLES你可以做出很多超酷的东西!但(That's not what I said): 很多编程语言都是入门...

3337

扫描关注云+社区