1. 程式人生 > >對Tensorflow中tensor的理解

對Tensorflow中tensor的理解

存儲 四大 sha 代碼 div body tensor 中括號 flow

Tensor即張量,在tensorflow中所有的數據都通過張量流來傳輸,在看代碼的時候,對張量的概念很不解,很容易和矩陣弄混,今天晚上查了點資料,並深入了解了一下,簡單總結一下什麽是張量的階,以及張量的shape是什麽?

在tensorflow中,張量的維數被描述為“階”,張量是以list的形式存儲的。list有幾重中括號,對應的張量就是幾階。如t=[ [1,2,3],[4,5,6],[7,8,9] ],t就是一個二階張量。

我們可以認為,一階張量,如[1,2,3],相當於一個向量,二階張量,如[ [1,2,3],[4,5,6],[7,8,9] ],相當於一個矩陣。

對於t=[ [1,2,3],[4,5,6],[7,8,9] ]來說,它的shape==>[3,3],shape可以理解成:當脫去最外層的一對中括號後,裏面有3個小list,然後每個小list裏又有3個元素,所以該張量的shape==>[3,3]。

舉幾個例子,如[ [1,2,3],[4,5,6] ] 的shape=[2,3](因為當脫去最外層的一對中括號後,裏面有2個小list,然後每個小list裏又有3個元素,所以該張量的shape==>[2,3]。)

又如,[ [ [ [ 2 ], [ 2 ] ] , [ [ 2 ] , [ 2 ] ] , [ [ 2 ] , [ 2 ] ] ] , [ [ [ 2 ] , [ 2 ] ] , [ [ 2 ] , [ 2 ] ] , [ [ 2 ] , [ 2 ] ] ] , [ [ [ 2 ] , [ 2 ] ] , [ [ 2 ] , [ 2 ] ] , [ [ 2 ] , [ 2 ] ] ] , [ [ [ 2 ] , [ 2 ] ] , [ [ 2 ] , [ 2 ] ] , [ [ 2 ] , [ 2 ] ] ] ]的shape==>[4,3,2,1] (因為當脫去最外層的一對中括號後,裏面有4個第二大的list,每個第二大的list裏又有3個第三大的list,每個第三大的list裏有2個第四大的list,每個第四大的list裏有1個元素,所以該張量的shape==>[4,3,2,1]。

對Tensorflow中tensor的理解