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

2017 年 10 月 27 日 AI100 大家都在关注

翻译 | AI科技大本营(rgznai100)

参与 | reason_W



本文作者Dominic Monn,是NVIDIA机器学习工程师。在本文中,作者讲述了自己在深度学习过程中使用PyTorch和TensorFlow的一些实际体会,他从安装、使用、文档、社区和工具五个角度,比较了PyTorch和TensorFlow的优点和不足。


作者此前一直是TensorFlow用户,不过出于工作考虑,加入NVIDIA时,决定改用PyTorch,也就有了对比PyTorch和TensorFlow这篇文章。


PyTorch简单的安装方式、Python化的使用风格,以及比TensorFlow稍快一些的运算速度非常适合工作之外的空闲时间使用。对于想入坑的童鞋来说,这篇文章具有很好的借鉴意义。



安装


PyTorch的安装非常简单。用户可以通过PIP进行安装,也可以从源代码构建。PyTorch还提供了Docker镜像,可以作为您自己的项目的基础镜像。


但是PyTorch没有像TensorFlow那样有专门的CPU和GPU的版本 。虽然这样会让安装更容易,但是如果想要同时支持CPU和GPU使用的话,就会需要生成更多代码。


还有一点需要注意的是,PyTorch还没有提供官方的分发渠道。虽然有Windows的非官方端口,但是没有来自PyTorch的支持。



用法


PyTorch提供了一个非常Python化的 API。TensorFlow则需要用户定义所有的Tensors和Graph,然后在会话中运行它。


在我看来,这会带来更多,但也更清洁的代码。 PyTorch图必须在继承自PyTorch nn.Module的类中定义。当运行Graph时,将调用forward() 函数。通过这种“约定配置”的方法,将保证graph的位置总是已知,而不用定义其余代码中的变量。


这种“新”方法需要一些时间才能习惯,但我认为,如果您之前在深度学习之外使用过Python,这会非常简单的。


从一些评论来看,PyTorch与TensorFlow相比,在许多模型上也表现出了更好的性能。



文档


PyTorch文档的大部分已经完成。我在使用过程中,还没有碰到过找不到函数定义或模块的情况。与TensorFlow的所有函数都有一个独立页面不同,PyTorch每个模块仅仅有一页文档。如果你之前一直使用Google风格的编程工具,那么在PyTorch中寻找函数的话,会有点儿困难。



社区


显然,PyTorch的社区并不像TensorFlow那么大。然而,在空闲时间许多人还是喜欢PyTorch,即使在上班时间他们要使用TensorFlow。一旦PyTorch开始完成公测,推出正式版本,我相信Pytorch的社区现状就会改变。 而且目前,在PyTorch社区里想发现老司机还有一点难度。


只有社区足够大,官方论坛中的问题才会比较快速的得到一个答案,并且完善很多神经网络示例的PyTorch版本。



工具和助手


尽管PyTorch提供了相当数量的工具,但一些非常有用的工具却十分缺少。尤其是缺少一个像TensorFlow里的TensorBoard那样强有力的工具。这就使得可视化比较困难。


还有一些非常常见的辅助工具也比较缺乏。这需要比TensorFlow更多的自写代码。



结论


如果你想换掉TensorFlow,那么PyTorch绝对是最佳选择。由于PyTorch还处于测试阶段,我希望它可以在可用性,文档和性能等方面有更多的改变和提升。

PyTorch是非常python化的工具,用起来感觉也很舒服。它有一个很好的社区和文档,而且运行起来也被认为比TensorFlow快。


当然,与TensorFlow相比,PyTorch的社区仍然相对较小,并且缺少一些有用的工具,例如像TensorBoard这样的可视化工具。



关于 P yTorch和TensorFlow,你有什么使用心得,欢迎在评论区分享你的经验。




招聘


AI科技大本营目前招聘资深AI采编。AI时代,和我们一起做最贴近AI的媒体!详细职位要求和简历投递方式请见☟☟☟

资深AI采编:


要求:

1.熟悉AI领域,对大公司、AI大牛的动态有极强敏感性,且有深度剖析的楞劲儿。

2.英语能力六级以上,看得懂文章,做得了编译,听得懂外文,做得了采访。

3.对AI相关的技术有一定的理解,能追踪最新的技术热点。

4.写稿、编译速度快,快速成稿能力非常重要。

5.语言能力强,行文流畅,写作风格不僵化不生硬。

6.相关媒体经验2年以上。

7.有过重磅深度稿件者优先。

8.对自己极高的要求,工作有极大热情,对成长有极强的动力。

9.时刻保持谦虚,能随时调整状态,跟团队目标紧密配合。


有意者,请将简历投至puge@ai100.ai,标题注明:姓名+手机号+AI采编。有疑问请加微信greta1314。


 ☞ 点赞和分享是一种积极的学习态度

登录查看更多
10

相关内容

Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
107+阅读 · 2020年5月3日
机器学习速查手册,135页pdf
专知会员服务
338+阅读 · 2020年3月15日
KGCN:使用TensorFlow进行知识图谱的机器学习
专知会员服务
81+阅读 · 2020年1月13日
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
【模型泛化教程】标签平滑与Keras, TensorFlow,和深度学习
专知会员服务
20+阅读 · 2019年12月31日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
163+阅读 · 2019年10月28日
开源书:PyTorch深度学习起步
专知会员服务
50+阅读 · 2019年10月11日
PyTorch  深度学习新手入门指南
机器学习算法与Python学习
9+阅读 · 2019年9月16日
TensorFlow还是Keras?深度学习框架选型指南
论智
5+阅读 · 2018年3月24日
从基础概念到实现,小白如何快速入门PyTorch
机器之心
13+阅读 · 2018年2月26日
荐书丨深度学习框架PyTorch:入门与实践
程序人生
11+阅读 · 2018年1月19日
Pytorch还是Tensorflow?英伟达工程师帮你总结了
人工智能头条
5+阅读 · 2017年10月27日
PyTorch vs. TensorFlow之一个月用户体验
深度学习世界
3+阅读 · 2017年10月21日
Efficiently Embedding Dynamic Knowledge Graphs
Arxiv
14+阅读 · 2019年10月15日
Domain Representation for Knowledge Graph Embedding
Arxiv
14+阅读 · 2019年9月11日
Neural Image Captioning
Arxiv
5+阅读 · 2019年7月2日
Arxiv
4+阅读 · 2019年1月14日
dynnode2vec: Scalable Dynamic Network Embedding
Arxiv
14+阅读 · 2018年12月6日
Next Item Recommendation with Self-Attention
Arxiv
5+阅读 · 2018年8月25日
VIP会员
相关VIP内容
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
107+阅读 · 2020年5月3日
机器学习速查手册,135页pdf
专知会员服务
338+阅读 · 2020年3月15日
KGCN:使用TensorFlow进行知识图谱的机器学习
专知会员服务
81+阅读 · 2020年1月13日
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
【模型泛化教程】标签平滑与Keras, TensorFlow,和深度学习
专知会员服务
20+阅读 · 2019年12月31日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
163+阅读 · 2019年10月28日
开源书:PyTorch深度学习起步
专知会员服务
50+阅读 · 2019年10月11日
相关资讯
PyTorch  深度学习新手入门指南
机器学习算法与Python学习
9+阅读 · 2019年9月16日
TensorFlow还是Keras?深度学习框架选型指南
论智
5+阅读 · 2018年3月24日
从基础概念到实现,小白如何快速入门PyTorch
机器之心
13+阅读 · 2018年2月26日
荐书丨深度学习框架PyTorch:入门与实践
程序人生
11+阅读 · 2018年1月19日
Pytorch还是Tensorflow?英伟达工程师帮你总结了
人工智能头条
5+阅读 · 2017年10月27日
PyTorch vs. TensorFlow之一个月用户体验
深度学习世界
3+阅读 · 2017年10月21日
相关论文
Top
微信扫码咨询专知VIP会员