本文是在参加DataWhale开源组队学习《深入浅出Pytorch》过程中,整理的学习笔记。
Pytorch 基础知识 张量 张量的创建张量,也叫做多维数组,常常我们对于一维张量也叫做标量,二位张量叫做矩阵。大部分时候,张量是三维及三维以上的多维变量
张量的创建可以通过如下命令:
- torch.rand() 构造一个随机初始化矩阵
- torch.zeros()构造一个全为零的矩阵
- torch.tensor() 直接使用数据构造
张量的操作种类繁多,包括数学运算、维度变换等等,详情可参考官方文档
- 加法操作
- 维度变换
对形状相同的张量进行数学运算时,我们按照“按位运算”来进行,即张量内部的每个元素都进行相同的操作。此外,还有向量点积和矩阵乘法等。对于形状不同的张量,则需要下面介绍的广播机制来处理。
广播机制广播机制是在某些情况下,当我们的张量间形状不同,但还要进行按元素运算时所应用到的。其核心就是通过适当的复制元素来扩展其中的一个或两个数组,使两者形状相同,再进行按元素运算。
import torch
a = torch.arange(3).reshape((3, 1))
b = torch.arange(2).reshape((1, 2))
'''
a: tensor([[0],
[1],
[2]])
b: tensor([[0, 1]])
a + b : tensor([[0, 1],
[1, 2],
[2, 3]])
'''
参考文献
《动手学深度学习》 — 动手学深度学习 2.0.0-beta0 documentation (d2l.ai)
《深入浅出Pytorch》



