栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

一、什么是张量

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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/355556.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号