日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Python中shape[0]、shape[1]和shape[-1]分別的意思詳解(附代碼)_python

作者:旅途中的寬~ ? 更新時間: 2022-12-14 編程語言

前言

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

總結

原文鏈接:https://blog.csdn.net/wzk4869/article/details/126022909

欄目分類
最近更新