Tensor-动手学深度学习-李沐_笔记

介绍

Tensor,又称"张量",其实就是n维度数组。不同维度的Tensor示意图如下:

Tensor-动手学深度学习-李沐_笔记_第1张图片

 Tensor-动手学深度学习-李沐_笔记_第2张图片

 Tensor-动手学深度学习-李沐_笔记_第3张图片

 关于Tensor.reshape

reshape函数可以处理总元素个数相同的任何新形状,【3,2,5】->【3,10】->【5,6】这个流程如下图所示:

Tensor-动手学深度学习-李沐_笔记_第4张图片

关于Tensor.sum(0, keepdim=True)

 有时需要对Tensor按照某一维度进行求和,那么实际上就是将所求和的维度从向量降维成标量

举个栗子

import torch


# 创建一个 2*3*4 的三秩张量
X = torch.arange(24).reshape(2,3,4)

# 以下是X内部的值:
tensor([[[ 0,  1,  2,  3],
         [ 4,  5,  6,  7],
         [ 8,  9, 10, 11]],

        [[12, 13, 14, 15],
         [16, 17, 18, 19],
         [20, 21, 22, 23]]])



# 分别对 X 从 0轴、1轴、2轴进行求和
X.sum(0, keepdim=True), X.sum(1, keepdim=True),X.sum(2, keepdim=True)

------------------下面是求和后的 X------------------
# 0轴
(tensor([[[12, 14, 16, 18],
          [20, 22, 24, 26],
          [28, 30, 32, 34]]])

# 1轴
 tensor([[[12, 15, 18, 21]],
 
         [[48, 51, 54, 57]]])

# 2轴
 tensor([[[ 6],
          [22],
          [38]],
 
         [[54],
          [70],
          [86]]]))

可视化

单从输出上来看也许不是很直观,那么可以借助图像来显示【按维度求和】具体发生了什么,如下所示:

Tensor-动手学深度学习-李沐_笔记_第5张图片

 

你可能感兴趣的:(深度学习,人工智能,深度学习,机器学习)