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 ...
随机推荐
- HDU 1024 Max Sum Plus Plus (动态规划 最大M字段和)
Problem Description Now I think you have got an AC in Ignatius.L's "Max Sum" problem. To b ...
- Python的优缺点、以及解释器种类
优点 Python起始定位“优雅”.“明确”.“简洁”,工具型语言,上手快,实用性强. 开发效率高,支持库强大,很多功能都有与之对应的最优模块支持. 高级语言,编程时无需考虑内存等底层具体实现. 可移 ...
- html根据下拉框选中的值修改背景颜色
错误的写法 <!doctype html><html><head><meta charset="utf-8"><title&g ...
- 2019牛客暑期多校训练营(第一场)A Equivalent Prefixes(单调栈/二分+分治)
链接:https://ac.nowcoder.com/acm/contest/881/A来源:牛客网 Two arrays u and v each with m distinct elements ...
- DP刷题记录
目录 dp刷题记录 codeforces 706C codeforces 940E BZOJ3997 POJ2279 GYM102082B GYM102082D codeforces132C L3-0 ...
- C++Review7_STL、容器、迭代器
我之前的博文中有专门的5篇整理并介绍了STL的概念: STL1——整体介绍:https://www.cnblogs.com/grooovvve/p/10467794.html STL2——泛型编程(模 ...
- java中List 和 Set 的区别
a. 特性 两个接口都是继承自Collection,是常用来存放数据项的集合,主要区别如下: ① List和Set之间很重要的一个区别是是否允许重复元素的存在,在List中允许插入重复的元 ...
- mongodb安装及安装MongoDB报错Verify that you have sufficient privileges to start system services解决方法
1.点击安装包mongodb-win32-x86_64-2012plus-4.2.2-signed进行安装 2.点击next 3.接受协议,点击next 4.点击自定义安装 选择安装路径,建议默认C盘 ...
- Linux 学习笔记 2 Centos 安装与网络的配置以及VI编辑器的使用
前言 当然,还是觉得Centos 在众多的Linux 发行版中,还是很有地位的,好多的服务器大多沿用的都是一代的Centos 因为它开源(这是废话)而且稳定,这才是服务器沿用的最重要的一项指标. 镜像 ...
- 【C++】CCFCSP201803-1跳一跳
// // main.cpp // CCFCSP20180318_1_跳一跳 // // Created by T.P on 2018/3/23. // Copyright © 2018年 T.P. ...