pytorch深度学习笔记(一)初学者夯实基础知识【张量,你好!】

本文是PyTorch深度学习系列的第一篇笔记,主要介绍了PyTorch的基本概念,强调了其作为科学计算库和深度学习平台的角色。文章详细探讨了张量,包括创建不同维度的张量、理解张量的形状、如何索引张量中的元素以及张量的数据类型。此外,还预告了下期将讨论张量的算术运算和与Numpy数组的转换。
摘要由CSDN通过智能技术生成

本篇文章是基于官方文档的学习下,做的一些笔记,主要目的是方便今后个人的查阅。

https://pytorch.org/tutorials/beginner/blitz/tensor_tutorial.html#sphx-glr-beginner-blitz-tensor-tutorial-py

PyTorch为何物

定义:基于Python的库,可帮助构建深度学习模型并在各种程序中使用他们。但是它不仅仅是一个深度学习库,还是一个科学的计算包。
官方定义:
It’s a Python-based scientific computing package targeted at two sets of audiences:

** A replacement for NumPy to use the power of GPUs
** a deep learning research platform that provides maximum flexibility and speed
译文:

它是基于python的科学计算软件包,面向两组受众:
1.取代Numpy使用GPU的功能,【核心数据结构:Tensor ≈Numpy,选择Tensor的原因:①虎狼解释:通过使用适当的软件和硬件,张量可以加速各种数学运算,这些操作在深度学习中大量执行时,大大改变速度】
2.一个深度学习研究平台,可提供最大的灵活性和速度。【这也就是为什么PYtorch能在学术研究领域广为运用的原因】

PyTorch的魅力

全能小高手。
①pythonic编码风格方便学习和使用
在这里插入图片描述
②GPU加速

③分布式计算以及自动梯度计算的支持有利于从正向表达式开始自动执行反向传递

张量的介绍

  张量只是给矩阵指定的一个奇特的名字,当然我们**广义的也可以认为一个张量是一个数字、向量、矩阵或者任何n维数组**。

在这里插入图片描述

  如果熟悉Numpy数组则对于pytorch的张量就更加得心应手。因为它与NumPy’s ndarrays大部分是类似的。
  标量值由0维张量表示,类似地,使用一维张量的列/行 矩阵,以此类推下去。

不同尺寸的张量示例

未雨绸缪

安装PyTorch

张量的实操

创建张量

思考出你的第一个张量:

在这里插入图片描述

1关键词:创建一维的张量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.关键词:创建更大维度的张量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

关键词:知晓张量的“形状”

在这里插入图片描述
在这里插入图片描述

关键词:“索引” 访问Tensor中的元素

①对一维的张量而言
第0个元素就是第一个
②对于2D和3D的张量而言:
在这里插入图片描述
在这里插入图片描述
想要访问2D张量中的整行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
除了一些常用的索引选择数据之外,PyTorch还提供了一些高级的选择函数:

index_select(input,dim,index)在制定维度dim上选取,比如选取某些行、某些列
masked_select(input,mask)例子如上,a[a>0],使用ByteTensor进行选取
nonzero(input)非0元素的下标
gather(input,dim,index)根据index,在dim维度上选取数据,输出的size与index一样

5.关键词:数据类型
当我们创建张量的时候,PyTorch都会确定张量元素的数据类型,以便数据类型可以覆盖张量的所有元素,当然,我们也可以创建张量的时候指定数据类型覆盖它。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结:

函数功能
Tensor(*sizes)基础构造函数
tensor(data)类似np.array的构造函数
ones(*sizes)全1Tensor
zero(*sizes)全0Tensor
eye(*sizes)对角线为1,其他为0
arrange(s,e,step)从s到e,步长为step
linspace(s,e,steps)从s到e,均匀切分成steps份
rand/randn(*sizes)均匀/标准分布
normal(mean,std)/uniform(from,to)正态分布/均匀分布
randperm(m)随机排列
这些创建方法都可以在创建的时候指定数据类型dtype和存放device(cpui/gpu)

**

下期预告:张量的算术运算和与Numpy数组的转换

**

元气满满的one day~
另外分享一些我今天喜欢的一些图片、文字~
我家的狗狗 点点and小灰
在这里插入图片描述

吐舌头的亚子 哈哈哈哈哈哈 可爱死了
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值