Python中shape[0]、shape[1]和shape[-1]分别的意思详解(附代码)

前言

shape函数是Numpy中的函数,它的功能是读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度。

直接用.shape可以快速读取矩阵的形状,使用shape[0]读取矩阵第一维度的长度。

.shape的使用方法

>>> import numpy as np
>>> x=np.array([[1,2,3],[4,5,6]])
>>> print(x.shape)

(2, 3)

shape[0]的使用方法

>>> import numpy as np
>>> x=np.array([[1,2,3],[4,5,6]])
>>> print(x.shape[0])
2

其实,我们可以发现:

>>> print(len(x))
2

shape[0]读取矩阵第一维度的长度,即数组的行数。

shape[1]的使用方法

>>> print(x.shape[1])
3

是我们的数组的列数。

有时我们会遇到一种新的表示方法:shape[-1]

首先需要知道,对于二维张量,shape[0]代表行数,shape[1]代表列数,同理三维张量还有shape[2]

对于图像来说:

image.shape[0]——图片高

image.shape[1]——图片长

image.shape[2]——图片通道数

而对于矩阵来说:

shape[0]:表示矩阵的行数

shape[1]:表示矩阵的列数

一般来说,-1代表最后一个,所以shape[-1]代表最后一个维度,如在二维张量里,shape[-1]表示列数,注意,即使是一维行向量,shape[-1]表示行向量的元素总数,换言之也是列数:

我们还是举上面的例子:

>>> print(x.shape[-1])
3

就是求得的列数。

附:需要注意的小细节

 然后就是,需要注意turple,list等没有shape属性,需要替换成张量tensor

 注意,即使是三维,由于shape[0]表示向量数,所以shape[1]是行数,那么shape[2]还是列数,所以shape[-1]最后一维还是列数

import torch
 
x = torch.tensor([[2, 3, 4, 3, 6, 8],
                 [1, 8, 9, 5, 0, 1],
                 [2, 0, 2, 2, 7, 1]])
print(x.shape[-1])

输出是:6

6
 
Process finished with exit code 0

总结

到此这篇关于Python中shape[0]、shape[1]和shape[-1]分别是什么意思的文章就介绍到这了,更多相关Python shape[0]、shape[1]和shape[-1]内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(Python中shape[0]、shape[1]和shape[-1]分别的意思详解(附代码))