动手学深度学习(一)
前言
本文章是来自于动手学深度学习v2的学习笔记
预备知识
张量(tensor)指的是n维数组,只有一个轴上的张量对应数学上的向量(vector),具有两个轴的张量对应数学上的矩阵(martix).
在Pytorch中有关张量的读写操作
1 | import torch |
在Pytorch中有关张量的运算操作
1 | import torch |
广播机制
在某些情况下及时两个张量的形状不同,我们也可以通过调用广播机制来执行元素操作。这种机制为:
- 通过适当的复制元素来扩展一个或者两个数组,使得两个张量具有相同的形状
- 对新生成的数组执行按元素操作
可广播的一对张量需要满足以下规则
- 每个张量至少有一个维度
- 从尾部的维度开始,维度尺寸
- 或者相等
- 或者其中一个张量的维度尺寸为1
- 或者一个张量不存在这个维度
1 | # 不可广播( a 不满足第一条规则)。 |
1 | a = torch.arange(3).reshape((3, 1)) |
索引和切片
1 | X = torch.arange(12, dtype=torch.float32).reshape((3,4)) |