TensorFlow中的Shape如何理解

2021-09-14 05:12:49 字數 1369 閱讀 9311

​ 初學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 行的功能一樣...