TensorFlow用張量這種數(shù)據(jù)結(jié)構(gòu)來表示所有的數(shù)據(jù).你可以把一個(gè)張量想象成一個(gè)n維的數(shù)組或列表.一個(gè)張量有一個(gè)靜態(tài)類型和動(dòng)態(tài)類型的維數(shù).張量可以在圖中的節(jié)點(diǎn)之間流通.
在TensorFlow系統(tǒng)中,張量的維數(shù)來被描述為階.但是張量的階和矩陣的階并不是同一個(gè)概念.張量的階(有時(shí)是關(guān)于如順序或度數(shù)或者是n維)是張量維數(shù)的一個(gè)數(shù)量描述.比如,下面的張量(使用Python中l(wèi)ist定義的)就是2階.
t = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
你可以認(rèn)為一個(gè)二階張量就是我們平常所說的矩陣,一階張量可以認(rèn)為是一個(gè)向量.對(duì)于一個(gè)二階張量你可以用語句t[i, j]來訪問其中的任何元素.而對(duì)于三階張量你可以用't[i, j, k]'來訪問其中的任何元素.
| 階 | 數(shù)學(xué)實(shí)例 | Python 例子 |
|---|---|---|
| 0 | 純量 (只有大小) | s = 483 |
| 1 | 向量(大小和方向) | v = [1.1, 2.2, 3.3] |
| 2 | 矩陣(數(shù)據(jù)表) | m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] |
| 3 | 3階張量 (數(shù)據(jù)立體) | t = [[[2], [4], [6]], [[8], [10], [12]], [[14], [16], [18]]] |
| n | n階 (自己想想看) | .... |
TensorFlow文檔中使用了三種記號(hào)來方便地描述張量的維度:階,形狀以及維數(shù).下表展示了他們之間的關(guān)系:
| 階 | 形狀 | 維數(shù) | 實(shí)例 |
|---|---|---|---|
| 0 | [ ] | 0-D | 一個(gè) 0維張量. 一個(gè)純量. |
| 1 | [D0] | 1-D | 一個(gè)1維張量的形式[5]. |
| 2 | [D0, D1] | 2-D | 一個(gè)2維張量的形式[3, 4]. |
| 3 | [D0, D1, D2] | 3-D | 一個(gè)3維張量的形式 [1, 4, 3]. |
| n | [D0, D1, ... Dn] | n-D | 一個(gè)n維張量的形式 [D0, D1, ... Dn]. |
形狀可以通過Python中的整數(shù)列表或元祖(int list或tuples)來表示,也或者用TensorShape class.
除了維度,Tensors有一個(gè)數(shù)據(jù)類型屬性.你可以為一個(gè)張量指定下列數(shù)據(jù)類型中的任意一個(gè)類型:
| 數(shù)據(jù)類型 | Python 類型 | 描述 |
|---|---|---|
DT_FLOAT |
tf.float32 |
32 位浮點(diǎn)數(shù). |
DT_DOUBLE |
tf.float64 |
64 位浮點(diǎn)數(shù). |
DT_INT64 |
tf.int64 |
64 位有符號(hào)整型. |
DT_INT32 |
tf.int32 |
32 位有符號(hào)整型. |
DT_INT16 |
tf.int16 |
16 位有符號(hào)整型. |
DT_INT8 |
tf.int8 |
8 位有符號(hào)整型. |
DT_UINT8 |
tf.uint8 |
8 位無符號(hào)整型. |
DT_STRING |
tf.string |
可變長度的字節(jié)數(shù)組.每一個(gè)張量元素都是一個(gè)字節(jié)數(shù)組. |
DT_BOOL |
tf.bool |
布爾型. |
DT_COMPLEX64 |
tf.complex64 |
由兩個(gè)32位浮點(diǎn)數(shù)組成的復(fù)數(shù):實(shí)數(shù)和虛數(shù). |
DT_QINT32 |
tf.qint32 |
用于量化Ops的32位有符號(hào)整型. |
DT_QINT8 |
tf.qint8 |
用于量化Ops的8位有符號(hào)整型. |
DT_QUINT8 |
tf.quint8 |
用于量化Ops的8位無符號(hào)整型. |
原文:Tensor Ranks, Shapes, and Types
翻譯:nb312
校對(duì):[lonlonago]( https://github.com/lonlonago)