TensorFlow or PyTorch
既然你已经读到了这篇文章,我就断定你已经开始了你的深度学习之旅了,并且对人造神经网络的研究已经有一段时间了;或者也许你正打算开始你的学习之旅。无论是哪一种情况,你都是因为发现你陷入了困惑中,才找到了这篇文章。你可能查询浏览了各种各样的深度学习的框架和库,但是其中有两个比较突出,他们是两个最流行的深度学习库:TensorFlow 和 PyTorch。你没有办法指出这两个库有什么本质的不同,不用担心!我将在这网络上无休止的存储空间中添加一篇新的文章,也许可以帮你弄清楚一些问题。我将简要的快速的给出你五点内容。仅仅是五点,那么,让我们开始吧!
第一点:尽管 TensorFlow 和 PyTorch 都是开源的,但是他们是由两个不同的公司创建的。TensorFlow 是由 Google 基于 Theano 开发的,而 PyTorch 是由 Facebook 基于 Torch 开发的。
第二点:这两个框架最大的不同是他们定义计算图的方式不同。TensorFlow 定义一个静态图,而 PyTorch 定义动态图,这是什么意思呢?意思就是在 TensorFlow 中,你必须首先定义整个计算图,然后运行你的机器学习模型。但是在 PyTorch 中,你可以在运行的过程中,定义或控制你的图,当在神经网络中使用变长的输入时,这是非常有用的。
第三点:TensorFlow 比 PyTorch 有更加陡峭的学习曲线。PyTorch 更具有 Python 风格,且在构建机器学习模型时更加直观。另一方面,为了学习 TensorFlow,你必须先学习一些他的工作机制(例如 sessions、placeholders 等),因此学习 TensorFlow 比学习 PyTorch 更难一点。
第四点:相比 PyTorch 来说,TensorFlow 背后有更大的社区,这意味着找到资源去学习 TensorFlow,或者是寻找问题的解决办法都会更容易一些。许多的教程和 MOOC(公开课)上面也都使用的是 TensorFlow 而不是 PyTorch,这是因为相比 TensorFlow 来说,PyTorch 是很新的东西。因此在资源方面,相比 PyTorch 来说,你会找到更多的 TensorFlow 的内容。
第五点:如果不讨论 TensorBoard,这个对比就是不完整的。TensorBoard 是一个出色的工具,你可以用它在浏览器中直接可视化你的机器学习模型。PyTorch 没有这个工具,尽管你可以使用类似于 Matplotlib 这样的工具。尽管你可以使用一些方法集成一些东西来让你在使用 PyTorch 时可以使用 TensorBoard,但是它本事是不原生支持的。
最后,TensorFlow 在生产模型和伸缩性上更好,它就是为了生产环境准备的。鉴于 PyTorch 是更容易学习,使用起来也更轻松,因此对于激情项目和快速原型制作来说,它相对更好。
好吧,够了!告诉我哪一个更好?
没有正确答案。(我知道,别人这么说的话我也很讨厌)
真实情况就是一些人发现使用 PyTorch 更好,而另外一些人发现使用 TensorFlow 更好。它们都是很好的框架,有很好的社区和支持,它们都可以完成工作,它们都是神器的魔杖,都可以做一些机器学习的魔术。
我希望我可以帮助你更清楚一些你的困惑(一点点,也许吧)。如果你是真的很困惑并且都没有使用过,那就随便选择一个开始学习,随着你的学习,你会有更多的直觉去帮你做决定。
最后想说的是,他们都是工具,你可以选择任何一个,开始学习机器学习科学和艺术!
翻译自 Tensorflow or PyTorch : The force is strong with which one?— Yashwardhan Jain,在保证原意不变情况下,略有润色和修改。
TensorFlow or PyTorch的更多相关文章
- 分别基于TensorFlow、PyTorch、Keras的深度学习动手练习项目
×下面资源个人全都跑了一遍,不会出现仅是字符而无法运行的状况,运行环境: Geoffrey Hinton在多次访谈中讲到深度学习研究人员不要仅仅只停留在理论上,要多编程.个人在学习中也体会到单单的看理 ...
- Tensorflow、Pytorch、Keras的多GPU使用
Tensorflow.Pytorch.Keras的多GPU的并行操作 方法一 :使用深度学习工具提供的 API指定 1.1 Tesorflow tensroflow指定GPU的多卡并行的时候,也是可以 ...
- Tensorflow视频教程&Pytorch视频教程
基于tensorflow做研究和基于pytorch做研究哪个好?哪个更容易复制代码,工业上更易用.Keras和tensorflow.pytorch的关系. Keras:Keras是一个由Python编 ...
- Ubuntu16.04深度学习基本环境搭建,tensorflow , keras , pytorch , cuda
Ubuntu16.04深度学习基本环境搭建,tensorflow , keras , pytorch , cuda Ubuntu16.04安装 参考https://blog.csdn.net/flyy ...
- 常用深度学习框——Caffe/ TensorFlow / Keras/ PyTorch/MXNet
常用深度学习框--Caffe/ TensorFlow / Keras/ PyTorch/MXNet 一.概述 近几年来,深度学习的研究和应用的热潮持续高涨,各种开源深度学习框架层出不穷,包括Tenso ...
- 深度学习调用TensorFlow、PyTorch等框架
深度学习调用TensorFlow.PyTorch等框架 一.开发目标目标 提供统一接口的库,它可以从C++和Python中的多个框架中运行深度学习模型.欧米诺使研究人员能够在自己选择的框架内轻松建立模 ...
- TensorFlow?PyTorch?Paddle?AI工具库生态之争:ONNX将一统天下
作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 本文地址:https://www.showmeai.tech/artic ...
- Ubuntu18.04: GPU Driver 390.116 + CUDA9.0 + cuDNN7 + tensorflow 和pytorch环境搭建
1.close nouveau 终端输入:sudo gedit /etc/modprobe.d/blacklist.conf 末尾加两行 blacklist nouveau options nouve ...
- [转] 理解CheckPoint及其在Tensorflow & Keras & Pytorch中的使用
作者用游戏的暂停与继续聊明白了checkpoint的作用,在三种主流框架中演示实际使用场景,手动点赞. 转自:https://blog.floydhub.com/checkpointing-tutor ...
随机推荐
- P1064 连续自然数和
题目描述 对一个给定的自然数 M ,求出所有的连续的自然数段,这些连续的自然数段中的全部数之和为 M . 例子:1998+1999+2000+2001+2002=10000 ,所以从 1998 到 2 ...
- 51nod 范德蒙矩阵
思路: 根据矩阵乘法的定义,G中的第i行第j列的元素 ai,j ,对答案的贡献为 ai,j∗ T中第j行的所有元素之和. 因此我们可以将T中根据每行的和进行排序.第i行的和可以通过公式 (ai^n−1 ...
- Netty小结
前言 在实际开发中,netty的开发使用相对较小,why?在企业中涉及网络编程的部分比重较小,在这大环境内,企业会优先使用简单的http,udp等基础的通讯协议工具,如果不能满足需求,会考虑基于rpc ...
- eclipse要修改的配置
1. 修改 html的字体大小 window->preferences->General--> appearance--> Colors and fonts-->basi ...
- 024.讲MFC_窗口指针
窗口指针通过HWND获得CWnd指针 //如何通过窗口句柄获得窗口指针获得应用程序主窗口的指针 //如何获得应用程序主窗口的指针一.建立名为dialogPoint的mfc工程,添加两个button 双 ...
- HBase 分裂(split)
1. 为什么split 最初一个Table 只有一个region(因此只能存放在一个region server上).随着数据的不断写入,HRegion越来越大,当到达一定程度后分裂为两个,通过负载均衡 ...
- JavaScript数组的方法 | 学习笔记分享
数组 数组的四个常用方法 push() 该方法可以向数组的末尾添加一个或多个元素,并返回数组的新长度 可以将要添加的元素作为方法的参数传递,这些元素将会自动添加到数组的末尾 pop() 该方法可以删除 ...
- DOCKER学习_006:Docker存储驱动
一 镜像的分层特性 在说docker的文件系统之前,我们需要先想清楚一个问题.我们知道docker的启动是依赖于image,docker在启动之前,需要先拉取image,然后启动.多个容器可以使用同一 ...
- Python 打包的现状:包的三种类型
英文 | The state of Python Packaging[1] 原作 | BERNAT GABOR 译者 | 豌豆花下猫 声明 :本文获得原作者授权翻译,转载请保留原文出处,请勿用于商业或 ...
- Acunetix 11 配置详解
Acunetix 扫描配置 Full Scan– 使用Full Scan来发起一个扫描的话,Acunetix会检查所有可能得安全漏洞. High Rish Vulnerabilities–这个扫描选项 ...