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

本文介绍了张量的概念,从标量、向量、矩阵到张量的维度提升,并通过PyTorch库展示了张量的实例。讨论了如何进行张量的降维操作,如按轴求和,以及不同维度的张量求和。这些基本运算在深度学习中是至关重要的,用于构建和训练复杂的神经网络模型。
摘要由CSDN通过智能技术生成

一、什么是张量

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

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]))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值