TensorFlow的設計理念

TensorFlow的設計理念

基於符號式編程

tensorflow先定義各種變量,然後建立一個數據流圖,在數據流圖中規定各個變量之間的計算關係,最後需要對數據流圖進行編譯,但此時數據流還是一個空客兒,裏面沒有任何實際數據,只有把需要運算的輸入放進入後,才能在整個模型中形成數據流,從而形成輸出值。

例一:

傳統面嚮對象語言中,如。

print(8+8)
#輸出結果爲:16

在傳統的程序操作中,運行後就執行了運算,輸出16。而在tensorflow中,數據流圖中的節點,實際上對應的是Tensorflow API中的一個操作,並沒有真正去運行。

import tensorflow as tf
t=tf.add(8,8)
print(t)
#輸出結果爲:Tensor("Add:0", shape=(), dtype=int32)

定義了一個操作,但實際上並沒有運行。
Tensorflow運算要放在圖中,圖運行只發生在會話(session)中,開啓會話後,就可以用數據去填充節點進行運算,關閉會話後就不能進行計算,因爲會話提供了操作運行和Tensor求值的環境,如:

import tensorflow as tf
# 創建圖
a = tf.constant([5.6, 2.0])
b = tf.constant([3.0, 4.0])
c = a * b
# 創建會話
sess = tf.Session()
# 計算c
print(sess.run(c))
sess.close()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章