深度学习课堂笔记——张量

深度学习课堂笔记——张量,第1张

深度学习课堂笔记——张量

一、什么是张量

要想接下来这几个概念的维度是依次上升的。

1.标量:标量由只有一个元素的张量表示。在下面的代码中,我们实例化两个标量,并使用它们执行一些熟悉的算术运算,即加法、乘法、除法和指数。(单个的数)

2.向量:标量值组成的列表。

3.矩阵:多个向量组成矩阵

4.张量:矩阵的推广,有n维数据轴

import torch
A=torch.arange(20*2).reshape(2,5,4)
A
A就是一个张量,长下面这个样子
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],
         [24, 25, 26, 27],
         [28, 29, 30, 31],
         [32, 33, 34, 35],
         [36, 37, 38, 39]]])
可以看出,(2,5,4)中2代表两个矩阵,5代表5行,4代表4列。

二、计算张量元素的和(降维)

A_sum_axis0 = A.sum(axis=0)#以第一个维度为轴,求对应位置元素的和
A_sum_axis0, A_sum_axis0.shape

A_sum_axis0 = A.sum(axis=0)这句代码的理解就是按照0轴求和,第一个矩阵和第二个矩阵对应位置的和相加,降维之后运行结果应该有5行4列

(tensor([[20, 22, 24, 26],
         [28, 30, 32, 34],
         [36, 38, 40, 42],
         [44, 46, 48, 50],
         [52, 54, 56, 58]]),
 torch.Size([5, 4]))

也可以按照两个维度求和
 

A_sum_axis0 = A.sum(axis=[0,1])
A_sum_axis0, A_sum_axis0.shape

A_sum_axis0 = A.sum(axis=[0,1])也就是说第一个第一个矩阵和第二个矩阵对应位置要想加,并且不同行对应位置也要相加,那么降维之后应该是一个长度为4的向量。

(tensor([180, 190, 200, 210]), torch.Size([4]))

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4827852.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-10
下一篇2022-11-10

发表评论

登录后才能评论

评论列表(0条)

    保存