tensorflow接受了python自己的原生資料型別,例如python中的布林值型別,數值資料型別(整數,浮點數)和字串型別。單一值將轉換為0維張量(標量),列表值將轉換為1維張量(向量),列表套列表將被轉換成2維張量(矩陣)等等,以下示例來自於tensorflow for machine intelligence.
t_0 = 19 # treated as a 0-d tensor, or "scalar"
tf.zeros_like(t_0) # ==> 0
tf.ones_like(t_0) # ==> 1
tf.zeros_like(t_1) # ==> [b'' b'' b'']
tf.ones_like(t_1) # ==> typeerror
t_2 = [[true, false, false],
[false, false, true],
[false, true, false]] # treated as a 2-d tensor, or "matrix"
tf.zeros_like(t_2) # ==> 3x3 tensor, all elements are false
tf.ones_like(t_2) # ==> 3x3 tensor, all elements are true
就像numpy一樣,tensorflow也有屬於自己的資料型別,你會在tensorflow中看到諸如tf.int32, tf.float32除了這些之外,還有一些很有意思的資料型別例如tf.bfloat, tf.complex, tf.quint.下面是全部的tensorflow資料型別,截圖來自tf.dtype
三、numpy資料型別
你可能已經注意到了numpy和tensorflow有很多相似之處。tensorflow在設計之初就希望能夠與numpy有著很好的整合效果。numpy軟體包現在已經成為資料科學的通用語言。
tensorflow資料型別很多也是基於numpy的,事實上,如果你令 np.int32==tf.int32將會返回true.你也可以直接傳遞numpy資料型別直接給tensorflow中的ops。
tf.ones([2, 2], np.float32) ==> [[1.0 1.0], [1.0 1.0]]
請記得,我們的好朋友tf.session.run(),要求的輸入物件是乙個tensor但是它的輸出是乙個numpy陣列。事實上,在絕大多數場合,你可以同時使用tensorflow型別和numpy型別。 TensorFlow中的資料型別
本文主要內容來自於史丹福大學課程cs20,有興趣的同學cs20。一 python 原生型別 tensorflow接受了python自己的原生資料型別,例如python中的布林值型別,數值資料型別 整數,浮點數 和字串型別。單一值將轉換為0維張量 標量 列表值將轉換為1維張量 向量 列表套列表將被轉換...
Tensorflow中資料集的相關操作
在資料集框架中,每乙個資料集代表乙個資料 其資料 有一下幾種 張量,tfrecord檔案,文字檔案,sharding檔案等等。一.資料集dataset的常用構造方法 1 從乙個tensor中構造資料集 dataset tf.data.dataset.from tensor slices tensor...
Tensorflow中的Lazy load問題
用tensorflow訓練或者inference模型的時候,有時候會遇到執行越來越慢,最終記憶體被佔滿,導致電腦宕機的問題,我們稱之為記憶體溢位。出現這種問題很可能是因為在乙個session中,graph迴圈建立重複的節點所導致的lazy load問題。舉個例子,用tensorflow迴圈做多次加法...