Tensorflow入門基本概念-----張量

張量是TensorFlow最主要的數據結構,張量是數學領域的概念,具體到TensorFlow中,一個張量就是一個張量類的實例,是綁定了相關運算的一個特定類型的多維數組。

1、張量的屬性:

  • 所有張量都有一個靜態的類型和動態的維數,也就是說你可以實時的改變一個張量的內部結構。
  • 只有張量類型的對象才能在計算圖的節點中傳遞。
  • 張量的階(rank):表示張量的維度,但跟矩陣的秩又不太一樣。它表示張量的維度的質量。
表1-1 張量的階
數學表示
0 標量(Scalar)
1 向量(Vector)
2 矩陣(Matrix)
3 3維張量(3-tensor)
n n維張量(n-tensor)
  • 張量的形狀(shape):形如[[,][,]] ,或0階:比如單個數字2。下面舉個例子:
import tensorflow as tf
tens1 = tf.constant([[[1,2],[2,3]],[[3,4],[5,6]]])
sess = tf.session()
print(sess.run(tens1)[1,1,0])

#輸出結果爲5
#[1,1,0]  其中第一個1表示取[[3,4],[5,6]]
#第二個1表示取[5,6]
#第三個0表示取5
#所以結果爲5
  • 張量的數據類型:這裏主要說一下tf.string,可變長度的字節數組,每一個張量元素都是一個字節數組。

    2、張量的創建 

  • TensorFlow和numpy是可互操作的,通常調用eval()函數會返回numpy對象。該函數可以用作標準數值工具。(注:張量對象只是一個操作結果的符號化句柄,它並不持有該操作的結果。所以可以使用eval()方法來獲取實際的值,等價於Session.run(tensor_to_eval)
  • tf.convert_to_tensor()方法將python對象轉化爲tensor對象,可以是tensor對象、numpy數組、Python列表、Python標量。

 

 

 

 

發佈了82 篇原創文章 · 獲贊 79 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章