前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Pytorch学习系列教程:入门简介

Pytorch学习系列教程:入门简介

作者头像
luanhz
发布于 2022-02-16 02:41:35
发布于 2022-02-16 02:41:35
6000
举报
文章被收录于专栏:小数志小数志

导读

新的一年还是要肝起来啊,这个公众号节前节后沉寂了快两个月了,许久没更新原创推文,自己感觉不能再这样堕落下去了。所以最近一直在思考写些什么推文:既要符合当下工作所需,倒逼成长;也要于广大读者有益,而非单纯的推销运营。

于是,终于决定“染指”深度学习方向,并打算先更新一波Pytorch学习教程。当然,这会是一个系列。

torch,原意“火炬”

提及Pytorch就不得不先从深度学习开始讲起。从事数据相关岗位的都知道,深度学习是机器学习的一个子方向,其主要以神经网络为基础模块,通过灵活组合一定层数的网络实现特定的模型功能,尤其擅长于计算机视觉(CV)和自然语言处理(NLP)方向。其发展历史上,在经历了两次高潮和两次低谷之后,目前处于第三次高速发展的蓬勃期。

网图,侵删

这里,深度学习的深度主要体现为构建的模型层数较多,故称之为“深”;但其实这里隐藏着一个重要假设,就是构建的模型都以神经元作为网络的最小单元,所以严谨的讲应叫做基于神经网络的深度学习。自然,也可以不基于神经网络,比如周志华团队前几年探索提出了深度随机森林模型,可谓是提出了深度学习的一个新的研究思路。

从理论研究到工业应用,其中必然少不了成熟的工业级实现。以python语言为基础,对于经典的机器学习模型,那么必然人人皆知scikit-learn;而若提及深度学习,则相应的工具包则不那么“集中和统一”,甚至称得上是大厂纷争之地。其中,最具代表性和广泛使用的当属TensorFlow和Pytorch,前者源于google,后者发于Facebook;前者以工业应用居多,后者则流行于学术界。当然,单论学术界还是工业界而言,二者也没有明确的界限。

起初,在了解到TensorFlow广泛应用工业界,而自己早已远离院校所以就直接入坑了TensorFlow,当了一段时间的TF boy,尤其是了解到TensorFlow2.0克服了早期1.0版本饱受诟病的静态图问题,所以也不认为TensorFlow有啥缺点。但后来,随着学习的深入,加之通过周边同事的了解,发现Pytorch有着更为优秀的特点:比如与Numpy的设计更为接近,语法风格更加Pythonic等等。所以,个人也就果断转投Pytorch阵营。

本文作为第一篇,仅用来介绍Pytorch能干什么,以及对为什么这么设计的个人理解。

Torch是一个老牌的深度学习框架,最早是基于lua语言开发的,由于其开发语言的小众性,所以其发展和应用也是受到了很多限制。自从Facebook开源了Python生态圈的Torch工具包——Pytroch之后,其就一直是匹敌TensorFlow的一个重量级工具。目前Pytroch在GitHub上获得54k star(TensorFlow目前在GitGHub上获得163k star,差距还是比较大的,大概有3倍之多)。

也正是由于深度学习最广泛的舞台在于图像和语音以及文本等应用方向,所以与Pytorch配套的三个工具包以及一个模型服务工具包:

  • torchvision
  • torchtext
  • torchaudio

当然,Pytorch仍然是基础和核心

作为一个深度学习工具包,Pytorch能用来干什么呢?这里引用官方文档对其定位的描述,广义来说有两方面功能:

即:

  • 支持GPU加速的Tensor计算能力
  • 支持自动求导的深度神经网络构建

那么问题来了:都说Pytorch是一个深度学习工具,为什么其核心功能设计为如上两点?对此,个人理解如下:

其一:Tensor是深度学习模型构建和训练的基础,其地位就好比是array之于Numpy、DataFrame之于Pandas,其本身是一种数据结构,但却构成了Pytorch的灵魂所在。这里,Tensor英文原义为“张量”,其实就是对应一个多维数组,本质上跟numpy的ndarray是一致的。

从这一角度来看,Pytorch可视作是numpy的升级版,这里的升级主要体现为可以利用GPU的强力并行计算能力。如果有Numpy基础,学习Pytorch其实可以很简单;另一方面,学Pytorch也完全可以作为是对Numpy的一个补充,而不去考虑构建深度学习模型的用途。

其二:Pytorch定位为一个深度学习工具,其更为主体的功能在于支持深度学习模型的构建和训练。与此同时,与经典机器学习中有成熟模型不同的是,深度学习网络大多没有固定的模型或范式,而一般由使用者将多个基础模块灵活搭配来组成(当然,其实也有一些成熟的模型,例如LeNet-5、AlexNet和VGGNet等,但更普遍的仍然需要使用者自己去定制),所以Pytorch对深度学习的支持不在于集成了多少成熟的模型,而在于提供了基础的深度学习模块,这些就好似脚手架一般,可以任意组合搭配,从而实现更为自由定制化的功能。

Pytorch功能还是比较丰富和繁杂的,最好的学习平台是查阅其官方文档,https://pytorch.org/。源于Pytroch群体的广泛性,目前其文档支持多种语言,包括中文文档在内,这也为自学者快速入门提供了更多渠道。我个人也是受益其中,后续的推文也将以此作为重要参考框架。

本篇推文就写这么多,对标从工具入门到模型建模,后续将每周更新一篇Pytorch学习系列推文。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小数志 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PyTorch学习系列教程:何为Tensor?
本文继续PyTorch学习系列教程,来介绍在深度学习中最为基础也最为关键的数据结构——Tensor。一方面,Tensor之于PyTorch就好比是array之于Numpy或者DataFrame之于Pandas,都是构建了整个框架中最为底层的数据结构;另一方面,Tensor又与普通的数据结构不同,具有一个极为关键的特性——自动求导。今天,本文就来介绍Tensor这一数据结构。
luanhz
2022/09/19
1.1K0
PyTorch学习系列教程:何为Tensor?
PyTorch学习 Datawhale
Pytorchtask·1——PyTorch的基本概念1. 什么是PyTorch,为什么选择PyTorch2. 配置Python环境3. 准备Python管理器4. Pytroch的安装5.PyTorch基础概念6. 通用代码实现流程(实现一个深度学习的代码流程)
用户7886150
2020/12/29
4200
Win10+Python3.6下Pytorch安装(基于conda或pip)
Pytorch是Facebook的AI研究团队发布了一个Python工具包,专门针对GPU加速的深度神经网络(DNN)编程.Torch是一个经典的对多维矩阵数据进行操作的张量(tensor)库,在机器学习和其他数学密集型应用有广泛应用。但由于Torch语言采用Lua,导致在国内一直很小众,并逐渐被支持Python的Tensorflow抢走用户。作为经典机器学习库Torch的端口,PyTorch为Python语言使用者提供了舒适的写代码选择。
DrugAI
2021/01/28
1K0
【重磅!】Facebook 发布开源框架 PyTorch,兼容 Python
本周,Facebook 的 AI 研究团队发布了一个 Python 工具包,专门针对 GPU 加速的深度神经网络(DNN)编程。它有望辅助、或在一定程度上替代,现有的 Python 数学、统计库(比如
BestSDK
2018/02/28
1.1K0
【重磅!】Facebook 发布开源框架 PyTorch,兼容 Python
【专知国庆特刊-PyTorch手把手深度学习教程系列01】一文带你入门优雅的PyTorch
【导读】主题链路知识是我们专知的核心功能之一,为用户提供AI领域系统性的知识学习服务,一站式学习人工智能的知识,包含人工智能( 机器学习、自然语言处理、计算机视觉等)、大数据、编程语言、系统架构。使用请访问专知 进行主题搜索查看 - 桌面电脑访问www.zhuanzhi.ai, 手机端访问www.zhuanzhi.ai 或关注微信公众号后台回复" 专知"进入专知,搜索主题查看。值国庆佳节,专知特别推出独家特刊-来自中科院自动化所专知小组博士生huaiwen和Jin创作的-PyTorch教程学习系列。 <
WZEARW
2018/04/08
2.2K0
【专知国庆特刊-PyTorch手把手深度学习教程系列01】一文带你入门优雅的PyTorch
动态丨Facebook 发布开源框架 PyTorch, Torch 终于被移植到 Python 生态圈
本周,Facebook 的 AI 研究团队发布了一个 Python 工具包,专门针对 GPU 加速的深度神经网络(DNN)编程。它有望辅助、或在一定程度上替代,现有的 Python 数学、统计库(比如 NumPy)。它实现了机器学习框架 Torch 在 Python 语言环境的执行。开发团队表示,除 Facebook之外,它还已经被推特、卡内基梅隆大学和 Salesforce 等机构采用。 使用 Pytorch 的机构 Torch 是一个十分老牌、对多维矩阵数据进行操作的张量(tensor )库,在
AI科技评论
2018/03/09
9440
动态丨Facebook 发布开源框架 PyTorch, Torch 终于被移植到 Python 生态圈
图深度学习入门教程(二)——模型基础与实现框架
深度学习还没学完,怎么图深度学习又来了?别怕,这里有份系统教程,可以将0基础的你直接送到图深度学习。还会定期更新哦。
代码医生工作室
2020/03/04
3.2K0
图深度学习入门教程(二)——模型基础与实现框架
Pytorch 最全入门介绍,Pytorch入门看这一篇就够了
本文通过详细且实践性的方式介绍了 PyTorch 的使用,包括环境安装、基础知识、张量操作、自动求导机制、神经网络创建、数据处理、模型训练、测试以及模型的保存和加载。
TechLead
2023/10/21
6.3K0
Pytorch 最全入门介绍,Pytorch入门看这一篇就够了
PyTorch 与 TensorFlow 怎么选?
PyTorch 和 TensorFlow 是目前最主流的两个深度学习框架,绝大多数研究者会选择PyTorch 或者 TensorFlow 进行深度学习的入门学习。图1展示了近两年来几个主流深度学习框架的 Google 指数,其中 PyTorch 和 TensorFlow 的热度不相上下,均遥遥领先于其他框架。 图 1 TensorFlow、PyTorch、MXNet、Caffe 和 PaddlePaddle 的 Google 指数 本文将从以下 4 个方面对比介绍 TensorFlow 和 PyTorch
博文视点Broadview
2022/08/26
1.9K0
PyTorch 与 TensorFlow 怎么选?
PyTorch学习系列教程:构建一个深度学习模型需要哪几步?
继续PyTorch学习系列。前篇介绍了PyTorch中最为基础也最为核心的数据结构——Tensor,有了这些基本概念即可开始深度学习实践了。本篇围绕这一话题,本着提纲挈领删繁就简的原则,从宏观上介绍搭建深度学习模型的几个基本要素。
luanhz
2022/09/19
1.9K0
PyTorch学习系列教程:构建一个深度学习模型需要哪几步?
深度学习框架简史:TF和PyTorch双头垄断,未来十年迎来黄金时期
过去十年,机器学习(尤其是深度学习)领域涌现了大量算法和应用。在这些深度学习算法和应用涌现的背后,是各种各样的深度学习工具和框架。它们是机器学习革命的脚手架:TensorFlow 和 PyTorch 等深度学习框架的广泛使用,使得许多 ML 从业者能够使用适合的领域特定的编程语言和丰富的构建模块更容易地组装模型。
CDA数据分析师
2021/01/08
7380
深度学习框架简史:TF和PyTorch双头垄断,未来十年迎来黄金时期
谁是深度学习框架一哥?2022年,PyTorch和TensorFlow再争霸
对于不同人群可能有不同的答案,科研人员可能更偏爱PyTorch,因其简单易用,能够快速验证idea来抢占先机发论文。
新智元
2022/02/24
1.2K0
谁是深度学习框架一哥?2022年,PyTorch和TensorFlow再争霸
掌握深度学习,为什么要用PyTorch、TensorFlow框架?
【导读】如果你需要深度学习模型,那么 PyTorch 和 TensorFlow 都是不错的选择。
AI科技大本营
2019/09/05
1.5K0
教程 | 斯坦福CS231n 2017最新课程:李飞飞详解深度学习的框架实现与对比
选自Stanford 作者:李飞飞等 机器之心编译 参与:Smith、蒋思源 斯坦福大学的课程 CS231n (Convolutional Neural Networks for Visual Recognition) 作为深度学习和计算机视觉方面的重要基础课程,在学界广受推崇。今年 4 月,CS231n 再度开课,全新的 CS231n Spring 2017 仍旧由李飞飞带头,带来了很多新鲜的内容。今天机器之心给大家分享的是其中的第八讲——深度学习软件(Deep Learning Software)。主
机器之心
2018/05/08
9470
教程 | 斯坦福CS231n 2017最新课程:李飞飞详解深度学习的框架实现与对比
主流的深度学习开源框架
TensorFlow最初由谷歌的Machine Intelligence research organization 中Google Brain Team的研究人员和工程师开发的。这个框架旨在方便研究人员对机器学习的研究,并简化从研究模型到实际生产的迁移的过程。
用户6021899
2019/11/05
8630
主流的深度学习开源框架
原创 | 深度学习框架比较,我该选择哪一个?
近年来,深度学习在很多机器学习领域都有着非常出色的表现,在图像识别、语音识别、自然语言处理、机器人、网络广告投放、医学自动诊断和金融等领域有着广泛应用。面对繁多的应用场景,深度学习框架有助于建模者节省大量而繁琐的外围工作,更聚焦业务场景和模型设计本身。
数据派THU
2020/09/14
1.8K0
强推!《PyTorch中文手册》来了
自 2017 年初首次推出,PyTorch 很快成为 AI 研究人员的热门选择并受到推崇。PyTorch 有许多优势,如采用 Python 语言、动态图机制、网络构建灵活以及拥有强大的社群等。由于其灵活、动态的编程环境和用户友好的界面,PyTorch 是快速实验的理想选择。
新智元
2019/03/07
4.3K0
强推!《PyTorch中文手册》来了
pytorch 1.2 与 Tensorflow 2.0 谁优谁劣?
Tensorflow作为长盛不衰的深度学习框架,一直广泛受到工业、科研学术界的欢迎,而近期推出Tensorflow2.0更是将Tensorflow的热度填了一把火。但作为深度学习的另外两位巨头(Keras和pytorch)似乎也在逐渐的撼动Tensorflow的领主地位。这里主要介绍Tensorflow和pytorch的王者之争。
用户6719124
2019/11/18
1.6K0
专访田渊栋 | Torch升级版PyTorch开源,Python为先,强GPU加速
【新智元导读】 PyTorch今天发布,这是一个支持强大的 GPU 加速的张量计算(类似numpy),构建基于 tape 的 autograd 系统的深度神经网络的深度学习研究平台。这是numpy 的替代,以使用 GPU 的能力,能够提供最大的灵活性和速度。田渊栋在接受专访时表示,新的平台不像以前 torch 需要clone_many_times。另外从 numpy ndarray 可以转到torch.Tensor,不需要copy。 专访Facebook研究员田渊栋和PyTorch作者Soumith 新智
新智元
2018/03/26
1.3K0
专访田渊栋 |  Torch升级版PyTorch开源,Python为先,强GPU加速
丝滑走进深度学习之 PyTorch
从编程风格上来说,TensorFlow 有点像在写计划书:需要首先定义整个计算图(模型的结构和运算过程),然后再填充数据并执行。这样,虽然 TensorFlow 在某些情况下可以进行更多的优化,但也可能使代码看起来有些冗长。
掘金安东尼
2023/10/16
2410
丝滑走进深度学习之 PyTorch
推荐阅读
相关推荐
PyTorch学习系列教程:何为Tensor?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文