Pytorch与Tensorflow,哪个更适合你?

本文转载自公众号夕小瑶的卖萌屋,专业带逛互联网算法圈的神操作

-----》我是传送门

关注后,回复以下口令:

回复【789】 :领取深度学习全栈手册(含NLP、CV海量综述、必刷论文解读)

回复【入群】:加入卖萌屋深度学习/NLP/CV/搜广推等方向的技术交流与内推社群(大V、顶会审稿人云集)

回复【0511】:领取算法岗面试手册(刷offer神器)

回复【0424】:领取刷论文神器(挖掘每日、每月必刷重磅论文)

本文将探讨PyTorch和TensorFlow这两种流行深度学习框架之间的关键相似点和不同点。为什么选择这两个框架,而不是其他的呢?目前有很多的深度学习框架,而且很多都可用于实际的生产,我之所以选择这两个只是因为我对它们特别感兴趣。
 

起源

TensorFlow由谷歌大脑开发,并且在谷歌公司中广泛地应用于研究和生产需求。它的前身是闭源的DistBelief。

PyTorch是Torch框架的表情,Torch是基于lua开发的,在Facebook公司里被广泛使用。然而,PyTorch的出现并不是为了支持流行语言而对Torch进行简单的包装,它被重写和定制出来是为了得到更快的速度和本地化。

比较这两个框架最好的方法就是用它们编写代码。我专门为这篇文章写了一个jupyter笔记,你可以在这里找到代码,文章涉及到的所有的代码都有。

首先,我们用这两个框架为下面这个函数编写一个简单的近似器:

我们将尝试用给定的_x_和函数值_f(x)_来计算未知参数_phi_的值。是的,使用随机梯度下降算法对于这个例子来说简直就是杀鸡用牛刀,很容易就能找到解法,但是这个简单的例子正好能实现我们这篇文章的目的。

我们首先用PyTorch来解决这个问题:

如果你对深度学习框架比较熟悉,那么你可能已经注意到我们正在纯手工打造梯度下降算法。这很不方便,但很幸运,PyTorch有optimize模块,其中包含了诸如RMSProp或Adam等流行优化算法的实现。我们将使用包含momentum的SGD。

PyTorch的损耗函数和指数图

正如你所看到的,我们很快就从训练数据推断出了真正的指数值。现在我们继续使用TensorFlow来试试:

TensorFlow的损耗函数和指数图

正如你所看到的,TensorFlow也能达到相同的目标。但它需要更多的迭代次数来得到指数值,但我相信,这是因为我没有弄清楚优化器的参数才使得两者的结果不具有可比性。  

现在我们准备探讨一些不同点。

TensorFlow是一个非常强大非常成熟的深度学习库,具有非常强大的可视化功能,以及有多个可供选择的框架来进行高级模型开发。它具有用于生产的部署选项,以及对移动平台的支持。如果你有以下需求,那么TensorFlow是一个很好的选择:

1. 开发生产模型

2. 开发需要部署在移动平台上的模型

3. 需要良好的社区支持和齐全的文档

4. 想要各种形式的丰富的学习资源

5. 想要或需要使用Tensorboard

6. 需要大规模的分布式模型训练

PyTorch仍然是一个年轻的框架,但其发展速度越来越快。如果你有以下需求,它可能会比较适合你:

1. 用于研究,或者是用于生产的非功能性需求并不是很苛刻

2. 需要更好的开发和调试体验

3. 爱所有Python化的东西

然而,我们通过调研发现,80%的0-3岁互联网人没有系统的学习过Tensorflow、PyTorch方向,缺乏很多项目实战,处于比较浅层面的对比。

网上解读Tensorflow、PyTorch文章非常多但知识点零散,学习 起来抓不住重点,大多数人还都本着一说就会一学就废的心理,看得多,动手少,所以急需一套学习资料。

最近整理一套“Tensorflow、PyTorch”两大框架必备的学习资料,这套资料内容非常的详尽全面,非常适合想要进入AI人工智能领域的人学习。

本文转载自公众号夕小瑶的卖萌屋,专业带逛互联网算法圈的神操作

-----》我是传送门

关注后,回复以下口令:

回复【789】 :领取深度学习全栈手册(含NLP、CV海量综述、必刷论文解读)

回复【入群】:加入卖萌屋深度学习/NLP/CV/搜广推等方向的技术交流与内推社群(大V、顶会审稿人云集)

回复【0511】:领取算法岗面试手册(刷offer神器)

回复【0424】:领取刷论文神器(挖掘每日、每月必刷重磅论文)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479355.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 500. 键盘行

文章目录1. 题目2. 解题1. 题目 给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。 示例: 输入: ["Hello", "Alaska", "Dad", "Peace"] 输出: ["Alaska", &quo…

XGBoost缺失值引发的问题及其深度分析

1. 背景 XGBoost模型作为机器学习中的一大“杀器”,被广泛应用于数据科学竞赛和工业领域,XGBoost官方也提供了可运行于各种平台和环境的对应代码,如适用于Spark分布式训练的XGBoost on Spark。然而,在XGBoost on Spark的官方实现中…

Android官方开发文档Training系列课程中文版:添加ActionBar之添加Action按钮

原文地址 : http://android.xsoftlab.net/training/basics/actionbar/adding-buttons.html 添加Action按钮 ActionBar允许在当前的APP上下文内添加很多重要的功能按钮。这样便可以通过图标或者文字作为功能按钮直接展示在ActionBar上。功能按钮如果没有足够空间或无足轻重的按…

快手搜索技术部招聘NLP算法工程师!

星标/置顶小屋,带你解锁最萌最前沿的NLP、搜索与推荐技术工作职责快手搜索技术部招聘,负责研发快手主APP搜索中的关键NLP模型/算法,包括但不限于:适合快手数据生态的NLP预训练语言模型,并推动预训练模型在query解析&am…

论文浅尝 | 解决知识图谱补全中的长尾关系和不常见实体问题

论文笔记整理:汪寒,浙江大学硕士。链接:https://www.aclweb.org/anthology/P19-1024.pdf动机KG的分布遵循长尾分布,大部分关系只有很少的三元组,且大体趋势是关系出现的频率和与之相关的不常见实体的比例呈反比关系。而…

LeetCode 944. 删列造序

1. 题目 题目链接 每个单词的位组成的列非降,最少删除几列。 示例 1:输入:["cba", "daf", "ghi"] 输出:1 解释: 当选择 D {1},删除后 A 的列为:["c&quo…

Android官方开发文档Training系列课程中文版:添加ActionBar之自定义ActionBar样式

原文地址 : http://android.xsoftlab.net/training/basics/actionbar/styling.html ActionBar的样式 ActionBar提供了为用户提供了常见的习惯性的用户界面以及按钮功能。但是这并不意味着必须要和其它APP看起来一模一样。如果需要设计更符合产品品牌样式风格的话,…

美团 iOS 工程 zsource 命令背后的那些事儿

zsource 命令是什么? 美团 App 在 2015 年就已经基于 CocoaPods 完成了组件化的工作。在组件化的改造过程中,为了能够加速整体工程的构建速度,我们对需要集成进美团 App 的组件进行了二进制化,同时提供一个叫做 cocoapods-binary …

互联网大厂CTR预估前沿进展

文 | Ruhjkg编 | 小鹿鹿lulu源 | 知乎前言CTR(click through rate)预估模型是广告推荐领域的核心问题。早期主要是使用LR(线性回归)人工特征工程的机器学习方法,但是存在人工组合特征工程成本较高,不同任务…

以史为鉴 | 为什么要将「知识图谱」追溯到1956年?

本文转载自公众号:AI科技评论。作者 | Claudio Gutierrez 编译 | MrBear编辑 | Tokai以史为鉴,可以知兴替。纵观近期包括 AAAI、NeurIPS、IJCAI 在内的AI顶级会议,对图结构模型的研究是一个绕不开的话题,大量学者涌入这个赛道&…

Android官方开发文档Training系列课程中文版:添加ActionBar之ActionBar浮层效果

原文地址 : http://android.xsoftlab.net/training/basics/actionbar/overlaying.html 浮层效果的ActionBar 默认情况下,ActionBar总是会出现在Activity窗口的顶部,这样会稍微的减少Activity布局的剩余空间。如果需要在用户使用的时候隐藏和显示Action…

美团大规模微服务通信框架及治理体系OCTO核心组件开源

微服务通信框架及治理平台OCTO作为美团基础架构设施的重要组成部分,目前已广泛应用于公司技术线,稳定承载上万应用、日均支撑千亿级的调用。业务基于OCTO提供的标准化技术方案,能够轻松实现服务注册/发现、负载均衡、容错处理、降级熔断、灰度…

领域应用 | 知识结构化在阿里小蜜中的应用

本文转载自公众号:DataFunTalk。分享嘉宾:李凤麟 阿里巴巴 算法专家文章整理:付一韬内容来源:2019知识图谱前沿技术论坛出品社区:DataFun导读:阿里小蜜是阿里巴巴服务领域的重要人工智能产品,是…

内卷的世界,我们是否可以换一种思维生活?

文 | Flood Sung源 | 知乎前言今年最热门的词汇之一当属内卷了。似乎很多行业都由于份额有限而陷入内卷当中。最火的或许是清华学生的这张图,“骑车写代码”:图片来自网络虽然后来知道是这位同学怕关了屏幕程序就断了,但这不禁让人思考&#…

LeetCode 513. 找树左下角的值(按层遍历 queue)

1. 题目 给定一个二叉树,在树的最后一行找到最左边的值。 2. 解题 利用队列按层次遍历顺序,根右左,要求最左边的一个,所以根右左,最后一个队列元素就是答案 class Solution { public:int findBottomLeftValue(TreeN…

Hadoop YARN:调度性能优化实践

背景 YARN作为Hadoop的资源管理系统,负责Hadoop集群上计算资源的管理和作业调度。 美团的YARN以社区2.7.1版本为基础构建分支。目前在YARN上支撑离线业务、实时业务以及机器学习业务。 离线业务主要运行的是Hive on MapReduce, Spark SQL为主的数据仓库作…

LeetCode 39. 组合总和(排列组合 回溯)

1. 题目 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 target)都是正整数。 解集不能包…

深度学习平台的未来:谁会赢得下半场?

今天这篇文章无意引战,只想从历史发展的角度来谈谈深度学习大背景下的开发工具变迁,以及对未来发展趋势的想象。TensorFlow:无力回天的深度学习里程碑不知道有多少小伙伴是2017年以前入坑深度学习的,那时候人工智能概念火热&#…

论文浅尝 | 基于属性嵌入的知识图谱实体对齐

论文笔记整理:王中昊,天津大学硕士,方向:自然语言处理。来源:AAAI2019论文链接: https://doi.org/10.1609/aaai.v33i01.3301297概述知识图谱之间的实体对齐的任务目标是去找到那些在两个不同的知识图谱上表…

基本功 | Litho的使用及原理剖析

1. 什么是Litho? Litho是Facebook推出的一套高效构建Android UI的声明式框架,主要目的是提升RecyclerView复杂列表的滑动性能和降低内存占用。下面是Litho官网的介绍: Litho is a declarative framework for building efficient user interfa…