初學tensorflow時,無法理解其中的shape是什麼意思。筆者查詢一些資料後理解了shape的含義。
import tensorflow as tf
tf.enable_eager_execution(
)a = tf.constant(1)
b = tf.constant(1)
c = a + b
print
(c)
輸出
tf.tensor(
2, shape=()
, dtype=int32)
之後筆者又執行了以下幾組**
輸入
import tensorflow as tf
tf.enable_eager_execution(
)a = tf.constant([1
])b = tf.constant([1
])c = a + b
print
(c)
輸出
tf.tensor([2
], shape=(1
,), dtype=int32)
輸入
import tensorflow as tf
tf.enable_eager_execution(
)a = tf.constant([1
,1])
b = tf.constant([1
,1])
c = a + b
print
(c)
輸出
tf.tensor([2
,2], shape=(1
,), dtype=int32)
再根據我們的理解可以理解為:
tensorflow時用張量這種資料結構來表示所有的資料。同時可以把初級的tensorflow理解為線性代數的計算工具。shape表示為張量的階(但是此時又區分與線代中的階),幾何意義可以大致理解為張量(向量)的幾何維度。而[ ]中的內容可以理解為向量中的維度界。而無[ ]這個界進行限制則可以理解為無法構成向量。這樣就可以很好的理解tensorflow中的shape了。
注意:矩陣的階表示矩陣的大小,比如n階矩陣就是n*n的矩陣,而張量的階表示維度的意思。
tensorflow用張量這種資料結構來表示所有的資料。你可以把乙個張量想象成乙個n維的陣列或列表。乙個張量有乙個靜態型別和動態型別的維數。張量可以在圖中的節點之間流通。
在tensorflow系統中,張量的維數來被描述為階。但是張量的階和矩陣的階並不是同乙個概念。張量的階(有時是關於順序或度數或者是n維)是張量維數的乙個數量描述。
Openssl中的sha1和sha256教程
sha1庫是一種雜湊演算法,用以生成結果為160bit的資料摘要,即20個位元組。sha256結果為256bit,即32個位元組。摘要的意思是,抽象為任意大小的資料為固定長度資料,結果是由於全部原始資料經過計算得出,逆推則無法計算除準確結果。摘要的特性 由於以上特性,sha雜湊被廣泛用於軟體工程中。...
Tensorflow中的Lazy load問題
用tensorflow訓練或者inference模型的時候,有時候會遇到執行越來越慢,最終記憶體被佔滿,導致電腦宕機的問題,我們稱之為記憶體溢位。出現這種問題很可能是因為在乙個session中,graph迴圈建立重複的節點所導致的lazy load問題。舉個例子,用tensorflow迴圈做多次加法...
tensorflow中的函式
執行當前tensor的run 操作 a tf.variable tf.ones 10 with tf.session as sess tf.global variables initializer run b sess.run a 1 b a eval 2 print b 中的 1 2 行的功能一樣...