pytorch框架语法学习(1)——多维矩阵(tensor)
作者:互联网
pytorch框架语法学习(1)——多维矩阵(tensor)
在运用python编程时,总会遇到tensor张量,例如reshape(2,3,4,4)等多维矩阵。下面进行详细讲解。
下面展示一些 内联代码片
。
// 生成一个(2,3,4,4)
import torch
mask=torch.arange(96)
mask = mask.reshape(2,3,4,4)
print(mask)
结果如下:
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],
[40, 41, 42, 43],
[44, 45, 46, 47]]],
[[[48, 49, 50, 51],
[52, 53, 54, 55],
[56, 57, 58, 59],
[60, 61, 62, 63]],
[[64, 65, 66, 67],
[68, 69, 70, 71],
[72, 73, 74, 75],
[76, 77, 78, 79]],
[[80, 81, 82, 83],
[84, 85, 86, 87],
[88, 89, 90, 91],
[92, 93, 94, 95]]]])
从结果可以看出,(2,3,4,4)tensor可以理解为矩阵的嵌套,最基本的形状为4x4的矩阵,3个4x4的矩阵构成一级嵌套矩阵,2个一级嵌套矩阵构成一个二级嵌套矩阵。如果这里有更多的维度,假若为(5,2,3,4,4),则这里表示的是5个二级嵌套矩阵组成的三级矩阵。这个三级矩阵有5行3列组成,其中每个元素为(3,4,4)的矩阵。(3,4,4)是由3个(4,4)的矩阵组成的矩阵。具体参见以下程序:
// An highlighted block
mask=torch.arange(48)
mask = mask.reshape(3,4,4)
print(mask)
结果如下:
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],
[40, 41, 42, 43],
[44, 45, 46, 47]]])
怎么取用其中的元素呢?
这里还以(2,3,4,4)矩阵为例进行说明:
下面展示一些 内联代码片
。
// An highlighted block
#选取(2,3,4,4)矩阵的第0行,即以4x4矩阵作为元素构成的2行3列矩阵中的第0行。
mask[0]
print(mask[0])
#结果如下所示
#选取(2,3,4,4)矩阵的第0行的第1个元素(这里的元素代表4x4的矩阵)
mask[0][1]
print(mask[0][1])
#选取(2,3,4,4)矩阵的第0行的第1个元素(这里的元素代表4x4的矩阵)矩阵的第2行。
mask[0][1][2]
print(mask[0][1][2])
#选取(2,3,4,4)矩阵的第0行的第1个元素(这里的元素代表4x4的矩阵)矩阵的第2行中的第3个元素。
结果如下:
标签:tensor,矩阵,元素,mask,print,pytorch,多维,4x4 来源: https://blog.csdn.net/qq_37993640/article/details/118584423