占位符與數據喂入機制
placeholder是TensorFlow提供的占位符節點,由tf.placeholder()函數創建,其實質上也是一種變量。占位符沒有初始值,只會分配必要的內存,其值由會話中用戶調用的run()函數傳遞。
占位符聲明的方法如表
函數 | 說明 |
tf.placeholder( dtype, shape=None,name=None ) | 創建一個指定形狀的占位符節點。 dtype:數據類型,必選,默認為value的數據類型。 shape:數據形狀,必選,默認為None,即一維值。也可以是多維,如[2,3],[None,3]表示列為3,行不定 name:占位符名,可選。默認值不重復 |
數據喂入
TensorFlow的數據供給機制允許在TensorFlow計算圖中將數據注入任意張量中,然而卻需要設置placeholder節點,通過run()函數輸入feed_dict參數,可以啟動運算過程。
placeholder節點被聲明的時候是未被初始化的,也不包括任何數據,如果沒有為它供給數據,則TensorFlow計算圖運算的時候會產生錯誤。
以下代碼演示了如何向模型中喂入數據
import tensorflow as tf
a = tf.placeholder(dtype=tf.int16)
b = tf.placeholder(dtype=tf.int16) #2-3行定義a和b兩個整型占位符節點
add = tf.add(a,b) #a與b相加
mul = tf.multiply(a,b) #a與b相乘
with tf.Session() as sess:print('相加: %i' % sess.run(add,feed_dict={a:3,b:4}))print('相乘: %i' % sess.run(mul,feed_dict={a:3,b:4}))
模型的保存和恢復:https://blog.csdn.net/weixin_45626468/article/details/115662057