Numpy:データの次元


データの次元

多次元のNumpy配列は、テンソルとも呼ばれます。現在のすべての機械学習システムは、基本的なデータ構造としてテンソルを使用しています。テンソルはデータコンテナーであり、それに含まれるデータはほぼ数値データであるため、数値のコンテナーでもあります。私たちは皆、2次元配列(2次元テンソル)である行列に精通しています。テンソルは、行列を任意の次元に一般化したものです。テンソルの次元は、しばしば軸と呼ばれます。

データのディメンションを図に示します。
ここに画像の説明を挿入

1.スカラー(0Dテンソル)

数値を1つだけ含むテンソルは、スカラー(スカラーテンソル、ゼロ次元テンソル、または0Dテンソルとも呼ばれます)と呼ばれます。Numpyでは、float32またはfloat64の数値はスカラーテンソル(またはスカラーの配列)です。上の画像には0Dテンソルはありません。

>>> import numpy as np
>>> a = np.array(12)
>>> a
array(12)
>>> a.ndim
0

2.ベクトル(1次元配列、1dテンソル)

数値の配列は、ベクトルまたは1次元テンソル(1Dテンソル)と呼ばれます。1Dテンソルには1つの軸しかありません。

>>> import numpy as np
>>> a = np.array([12,3,5,7])
>>> a
array([12,3,5,7])
>>> a.ndim # 数组维度(维数、轴数、秩)
1

3. 2次元配列(2dテンソル)

ベクトルの配列は、2次元配列(2Dテンソル)と呼ばれます。2つの軸があります(多くの場合、行と列と呼ばれます)。

>>> import numpy as np
>>> a = np.array([[12,3,5,7],[11,2,4,6],[10,8,6,7]])
>>> a
array([[12,  3,  5,  7],
       [11,  2,  4,  6],
       [10,  8,  6,  7]])
>>> a.ndim # 数组维度(维数、轴数、秩)
2

最初の軸の要素は行と呼ばれ、2番目の軸の要素は列と呼ばれます。

4. 3次元配列(3dテンソル)

複数の2次元配列を新しい配列に組み合わせると、3次元配列を取得でき、その値は数値で構成される立方体として理解できます。

>>> import numpy as np
>>> a = np.arange(1,28).reshape(3,3,3)
>>> a
array([[[ 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]]])

時系列データまたはシーケンスデータの3次元データの形状を図に示し
ここに画像の説明を挿入
ます。画像データはすべて3次元配列です。画像には通常、高さ、幅、色深度の3つの次元があります。グレースケール画像にはカラーチャンネルが1つしかなく、2次元で保存できます。ただし、慣例により、図に示すように、画像テンソルは常に3Dテンソルです
ここに画像の説明を挿入
。1つの色は2次元配列(2dテンソル)を構成し、3色(RBG)は3つの2次元配列が3次元配列(3d-テンソル))、カラー画像を形成します。
複数の3dテンソルを組み合わせると、4dテンソルが作成されます。図に示すように、複数のカラー画像が4次元配列(4dテンソル)を形成します。
ここに画像の説明を挿入
たとえば、深層学習では通常、0Dから4Dの範囲のテンソルが処理されますが、ビデオデータの処理でも5Dテンソルが発生する場合があります。

おすすめ

転載: blog.csdn.net/shield911/article/details/124073579