基于PyTorch的深度学习系列教程(一):认识PyTorch

前言

本文回答了以下初学者在学习PyTorch时经常会产生的两个疑问:

  1. 什么是PyTorch? 它在机器学习中充当什么角色?
  2. 为什么偏偏要学PyTorch? (为何不选择TensorFlow、Keras等框架?)

这也是我的第一篇博客,写的不好请见谅,下面就让我们进入正文。

一、PyTorch简介

首先,让我们搞清楚一个问题:什么是深度学习学习框架?简单来讲,深度学习框架是一套完备的系统,其中提供了一系列方法和工具,使得用户能够高效灵活地进行数据处理、建立模型和实验评估等步骤。PyTorch就是这样一套综合的系统。在之后的学习当中,我们会一一了解实现这些功能的方法和函数。

二、PyTorch的优势在哪?


上图展示了几种主流的机器学习框架,如TensorFlow、Keras等。相较于这些框架,PyTorch到底有哪些突出的优势?

1.对Python语言的良好支持

从PyTorch的名字我们不难看出,这个框架与Python紧密相连。PyTorch的前身Torch实际上是基于Lua语言研发的,但其实在是过于小众。考虑到Python在科学计算领域的突出地位,和它非常完善的生态支持,Torch原团队便基于Python语言进行了重构,加入了对Python的接口以及自动求导模块。

PyTorch的学习中引入的新概念非常少,降低了用户的理解门槛,也使得代码几乎和原生Python一致。更重要的是,PyTorch能够无缝地使用Numpy库,大大优化了使用体验和便捷程度。

2.基于动态图的求导

TensorFlow是一种典型的基于静态图的机器学习框架。静态图一旦建立就相对固定,不易于改变。它过于庞大,往往会占据大量的内存空间。相反,动态图是在代码运行过程当中被建立的,相对更加灵活轻便,方便了使用者修改网络结构。

总结成一句话:PyTorch是最适合新手学习深度学习的框架之一,相较于其他框架也拥有更大的灵活性。大部分读者都对Numpy比较熟悉,这也使得学习新操作的难度大大减小。如果对Numpy的掌握仍然不熟练,建议先复习梳理相关知识。后续教程在编写过程中,也会把PyTorch和Numpy两种库实现相同操作的代码进行对比,方便读者学习记忆。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值