神經網路中的資料表示

2021-10-08 23:47:46 字數 2683 閱讀 8425

當前所有機器學習系統都使用張量作為基本資料結構。張量對這個領域非常重要,重要到 google 的 tensorflow 都是以它來命名的。那麼什麼是張量?

標量(英語:scalar),又稱純量,是只有大小、沒有方向、可用實數表示的乙個量。實際上標量就是實數,「標量」這個稱法只是為了區別於向量。標量可以是負數,例如溫度低於冰點。與之相對,向量(又稱向量)既有大小,又有方向。與此相對的向量,其分量在不同的座標系中有不同的值,例如速度。標量可被用作定義向量空間。

——維基百科

僅包含乙個數字的張量叫作標量(scalar,也叫標量張量、零維張量、0d張量)。在numpy中,乙個 float32 或 float64 的數字就是乙個標量張量(或標量陣列)。標量張量有0個軸(ndim == 0)。張量軸的個數也叫作階(rank)。

下面是乙個 numpy 標量:

>>

>

import numpy as np

>>

> x = np.array(9)

>>

> x

array(9)

>>

> x.ndim

0

向量(英語:euclidean vector,物理、工程等也稱作向量歐幾里得向量)是數學、物理學和工程科學等多個自然科學中的基本概念。指乙個同時具有大小和方向,且滿足平行四邊形法則的幾何物件。理論數學中向量的定義為任何在向量空間中的元素。

數字組成的陣列叫作向量(vector)或一維張量(1d張量)。一維張量只有乙個軸。

下面是乙個numpy向量:

>>

> y = np.array([12

,5,4

,11,9

])>>

> y

array([12

,5,4

,11,9

])>>

> y.ndim

1

上面**中所寫向量有5個元素,所以被稱為5d向量不要把 5d向量 和 5d張量 弄混!

5d向量只有乙個軸,沿著軸有5個維度;而5d張量有5個軸(沿著每個軸可能有任意個維度)。

維度(dimensionality)可以表示沿著某個軸上的元素個數(比如5d向量);

階數(order)可以表示張量軸的個數

向量組成的陣列叫作矩陣(matrix)或二維張量(2d張量),矩陣有2個軸(通常叫作行和列)。

我們可以將矩陣直觀地理解為數字組成的矩形網格。

下面是乙個numpy矩陣:

>>

> z = np.array([[

1,2,

3],[

4,5,

6],[

7,8,

9]])

>>

> z

array([[

1,2,

3],[

4,5,

6],[

7,8,

9]])

>>

> z.ndim

2

矩陣上第乙個軸上的元素叫作行(row),第二個軸上的元素叫作列(column)

在上面的例子中,[1, 2, 3] 是x的第一行,[1, 4, 7]是第一列

將多個矩陣組合成乙個新的陣列,就可以得到乙個3d張量,我們可以理解為由數字組成的立方體。

下面是乙個numpy的3d張量:

>>

> s = np.array([[

[1,2

,3],

[4,5

,6],

[7,8

,9]]

,[[1

,2,3

],[4

,5,6

],[7

,8,9

]],[

[1,2

,3],

[4,5

,6],

[7,8

,9]]

])>>

> s

array([[

[1,2

,3],

[4,5

,6],

[7,8

,9]]

,[[1

,2,3

],[4

,5,6

],[7

,8,9

]],[

[1,2

,3],

[4,5

,6],

[7,8

,9]]

])>>

> s.ndim

3

以此類推,4d張量便由3d張量堆疊而成5d張量由4d張量堆疊而成…

張量是由以下三個關鍵屬性來定義的。

神經網路的資料表示

深度學習中的資料儲存在多維numpy陣列中,也叫張量 tensor 一般來說,當前所有機器學習系統都使用張量作為基本的資料結構。張量對這個領域非常重要,重要到google 的tensorflow 都以它來命名。那麼什麼是張量?張量這一概念的核心在於,它是乙個資料容器。它包含的資料幾乎總是數值資料,因...

神經網路的資料表示 張量 Tensor

張量 tensor 是乙個資料容器,它所包含的一般是數值資料。下面是張量中的一些名詞 import numpy as np x np.array 12 x array 12 x.ndim 0 x np.array 12 3,6 14,7 x array 12 3,6 14,7 x.ndim 1這個向...

keras入門 神經網路的資料表示

資料儲存在多維 numpy 陣列中,也叫張量 tensor 一般來說,當前所 有機器學習系統都使用張量作為基本資料結構。張量這一概念的核心在於,它是乙個資料容器。它包含的資料幾乎總是數值資料,因此它 是數字的容器。你可能對矩陣很熟悉,它是二維張量。張量是矩陣向任意維度的推廣 注意,張量的維度 dim...