内容简介:大家知道,深度学习的发展和推进,在某种程度上也是一场框架的争夺战,其中 Google 发布的TensorFlow和 Facebook 主力支持的 PyTorch 是最耀眼的两颗明星。我们今天就来看看其中一位明星 PyTorch,看看它为何值得学。
大家知道,深度学习的发展和推进,在某种程度上也是一场框架的争夺战,其中 Google 发布的TensorFlow和 Facebook 主力支持的 PyTorch 是最耀眼的两颗明星。我们今天就来看看其中一位明星 PyTorch,看看它为何值得学。
简单介绍
PyTorch 强调从研究到生产
来源:https://pytorch.org/
根据官网介绍,PyTorch 是一个开源的深度学习平台,提供从研究原型到生产部署的无缝路径(An open source deep learning platform that provides a seamless path from research prototyping to production deployment)。
PyTorch 的流行度仅次于TensorFlow。而最近一年,在 GitHub 关注度和贡献者的增长方面,PyTorch 跟TensorFlow基本持平。甚至,PyTorch 的搜索热度持续上涨,加上 FastAI 的加持,PyTorch 无疑会得到越来越多的机器学习从业者的青睐。
流行度虽然可以说明问题,但是,你一定要知道更多,才能明白 PyTorch 为什么值得学,你在什么情况下需要学习 PyTorch 。
PyTorch 关键发展节点
2017 年 1 月,Facebook AI 研究团队发布 PyTorch,一个基于 Torch 的 Python 工具包,专门用于 GPU 加速的深度学习编程。
2017 年 8 月,PyTorch V 0.2.0 发布,引入广播、高级索引、高阶梯度、新图层,以及分布式训练等,前两者进一步方便了 Tensor 与 Numpy 互转。
2018 年 4 月,Caffe2 代码合并到 PyTorch。Facebook 打算将 PyTorch 的研究特性与 Caffe2 的生产特性更好地结合起来。
2018 年 4 月,PyTorch V 0.4.0 发布,新特性包括 Tensor 和 Variable 合并,强化 Numpy 风格的 Tensor 构建等,并正式支持 Windows 系统。
2018 年 10 月,PyTorch V 1.0.0 发布,融合 PyTorch 自身灵活性、研究优势与 Caffe2 的后端与应用能力、ONNX 的框架转换能力于一体;同时 FastAI V1.0 发布,可用单一 API 玩转常见深度学习应用,大大降低了深度学习的学习门槛。
2019 年 5 月,PyTorch V 1.1 发布,提供了新的 API,原生支持TensorBoard和自定义循环神经网络,并提升了性能。
PyTorch 刚走过了 2 年 4 个月的时间,发展相当迅速。
PyTorch 当前稳定版及相关配置
来源:https://pytorch.org/
受欢迎程度
Jeff Hale 4 月份在 Medium 上发表了一篇文章,比较了TensorFlow、PyTorch、keras 和 FastAI 的流行度,全面涵盖职位需求、使用、学术研究和兴趣等维度。
Jeff 根据多个招聘网站在线职位搜索、Google Trends、GitHub 活跃度、Arxiv 文章数、Medium 文章数、Quora 相关问题关注人数统计计算出了一个综合的增长分数。我们这里引用一下最终结果图片:
深度学习框架半年增长分数
(2018 年 10 月-2019 年 3 月)
可以看到TensorFlow稳居第一,而 PyTorch 表现也非常抢眼,未来的需求和发展非常值得期待。
PyTorch 核心优势:动态计算图
PyTorch 是一款强大的动态计算图模式的深度学习框架。大部分框架是静态计算图模式,其应用模型在运行之前就已经确定了,而 PyTorch 支持在运行过程中根据运行参数动态改变应用模型。
可以简单理解为:一种是先定义后使用,另一种是边使用边定义。动态计算图模式是 PyTorch 的天然优势之一,Google 今年 3 月份发布的TensorFlow2.0 Alpha 版本中的 Eager Execution,被认为是在动态计算图模式上追赶 PyTorch 的举措。
静态计算图模式框架在执行计算图之前需要先声明和编译。 虽然在实际生产中这种实现比较高效,但在研究和开发中非常繁琐。
以 PyTorch 为代表的动态计算图框架则无需在每次执行之前编译模型。在建模 NLP 任务时,每个输入都可能导致不同的图结构,因此动态图就绝对占优了——这也是 PyTorch 在处理很多问题上(尤其是 RNN 相关问题)更高效的原因。
此外,动态图机制在调试方面非常方便,基本上,如果计算图运行出错,就可以在堆栈跟踪定义图的代码行。有人形容调试 PyTorch 就跟调试 Python 一样,通过断点检查就可以高效解决问题。
PyTorch 更多优势
-
无缝接入 Python 生态圈,张量、变量与 Numpy 互转
-
在张量之上封装变量,方便构建神经网络
-
强大的后端功能
-
命令式编程风格
-
扩展性极好
-
广泛应用于 NLP 之外的多种深度学习应用
-
富有活力的社区和背后大厂 Facebook 支持
-
......
深入了解与使用 PyTorch
如果你想深入细致了解使用 PyTorch 快速高效地构建深度学习模型,那么——
资深数据科学家 Rich Ott 在O’Reilly主办的 AI Conference 2019 北京站 上主讲的 「PyTorch深度学习」 课程值得学习,学习时间为期两天,具体为 6 月 18 日 ~ 6 月 19 日。
有志于将来投身人工智能领域的 Python 开发者、Python数据分析师,以及想进一步深入理解 PyTorch 的机器学习工程师、算法工程师,不要错过这次与国外资深专业人士一起学习的机会。
导师:Richard Ott
The Data Incubator数据科学家,热爱数据科学,并致力于数据知识的传播与教学。曾在 Verizon 担任数据科学家和软件工程师。麻省理工学院粒子物理学博士,加州大学戴维斯分校博士后。
学习内容
-
学习 PyTorch张量和自动求导包
-
多种 PyTorch深度学习模型架构
-
使用真实数据集构建和训练深度神经网络
前置知识
-
基本的 Python 知识
-
简单的矩阵和线性代数知识
-
建模和机器学习基础
-
神经网络基础
课程大纲
6 月 18 日
-
PyTorch张量
-
自动求导包
-
神经网络
-
多层感知机
6 月 19 日
-
神经网络架构
-
卷积神经网络
-
自动编码器
参考资料
Natural Language Processing with PyTorch: Build Intelligent Language Applications Using Deep Learning
https://towardsdatascience.com/which-deep-learning-framework-is-growing-fastest-3f77f14aa318
https://www.ibm.com/developerworks/cn/cognitive/library/cc-get-started-pytorch/index.html
https://venturebeat.com/2019/05/01/facebook-launches-pytorch-1-1-with-tensorboard-support/
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 深度解析Python深度学习框架的对比
- 深度学习框架的前世今生
- 人工智能深度学习Caffe框架介绍,优秀的深度学习架构
- 三种 JavaScript 深度学习框架介绍
- 深度:从零编写一个微前端框架
- 深度:从零编写一个微前端框架
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C语言从入门到精通
王娣//韩旭 / 清华大学 / 2010-7 / 49.80元
《C语言从入门到精通》从初学者的角度出发,以通俗易懂的语言,丰富多彩的实例,详细介绍了使用C语言进行程序开发应该掌握的各方面知识。全书共分17章,包括C语言概述,算法,数据类型,运算符与表达式,常用的数据输入、输出函数,选择结构程序设计,循环控制,数组,函数,指针,结构体和共用体,位运算,预处理,文件,存储管理,网络套接字编程和学生成绩管理系统等。所有知识都结合具体实例进行介绍,涉及的程序代码给出......一起来看看 《C语言从入门到精通》 这本书的介绍吧!