tensorflow中張量的理解

2021-08-17 01:10:55 字數 1357 閱讀 4929

自己通過網上查詢的有關張量的解釋,稍作整理。

tensorflow用張量這種資料結構來表示所有的資料.你可以把乙個張量想象成乙個n維的陣列或列表.乙個張量有乙個靜態型別和動態型別的維數.張量可以在圖中的節點之間流通.

在tensorflow系統中,張量的維數來被描述為階.但是張量的階和矩陣的階並不是同乙個概念.張量的階(有時是關於如順序或度數或者是n維)是張量維數的乙個數量描述.比如,下面的張量(使用python中list定義的)就是2階.

t = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
你可以認為乙個二階張量就是我們平常所說的矩陣,一階張量可以認為是乙個向量.對於乙個二階張量你可以用語句t[i, j]來訪問其中的任何元素.而對於三階張量你可以用't[i, j, k]'來訪問其中的任何元素.

階數學例項

python 例子

0純量 (只有大小)

s = 483

1向量(大小和方向)

v = [1.1, 2.2, 3.3]

2矩陣(資料表)

m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

33階張量 (資料立體)

t = [[[2], [4], [6]], [[8], [10], [12]], [[14], [16], [18]]]

nn階 (自己想想看)

....

張量是所有深度學習框架中最核心的元件,因為後續的所有運算和優化演算法都是基於張量進行的。幾何代數中定義的張量是基於向量和矩陣的推廣,通俗一點理解的話,我們可以將標量視為零階張量,向量視為一階張量,那麼矩陣就是二階張量。

舉例來說,我們可以將任意一張rgb彩色表示成乙個三階張量(三個維度分別是的高度、寬度和色彩資料)。如下圖所示是一張普通的水果,按照rgb三原色表示,其可以拆分為三張紅色、綠色和藍色的灰度,如果將這種表示方法用張量的形式寫出來,就是圖中最下方的那張**。

圖中只顯示了前5行、320列的資料,每個方格代表乙個畫素點,其中的資料[1.0, 1.0, 1.0]即為顏色。假設用[1.0, 0, 0]表示紅色,[0, 1.0, 0]表示綠色,[0, 0, 1.0]表示藍色,那麼如圖所示,前面5行的資料則全是白色。

將這一定義進行擴充套件,我們也可以用四階張量表示乙個包含多張的資料集,其中的四個維度分別是:在資料集中的編號,高度、寬度,以及色彩資料。

tensorflow中張量的理解

自己通過網上查詢的有關張量的解釋,稍作整理。tensorflow用張量這種資料結構來表示所有的資料.你可以把乙個張量想象成乙個n維的陣列或列表.乙個張量有乙個靜態型別和動態型別的維數.張量可以在圖中的節點之間流通.在tensorflow系統中,張量的維數來被描述為階.但是張量的階和矩陣的階並不是同乙...

tensorflow中張量的理解

自己通過網上查詢的有關張量的解釋,稍作整理。tensorflow用張量這種資料結構來表示所有的資料.你可以把乙個張量想象成乙個n維的陣列或列表.乙個張量有乙個靜態型別和動態型別的維數.張量可以在圖中的節點之間流通.階在tensorflow系統中,張量的維數來被描述為階.但是張量的階和矩陣的階並不是同...

tensorflow 中檢視張量值和張量大小

通過with tf.session assess print sess.run y 即可列印出變數的值。下面給出例子importnumpyasnp importtensorflowastf x tf.constant 1,2,3,4,5,6 y tf.reshape x,2,3 withtf.ses...