在TensorFlow中,tf.placeholder()函數(shù)用于創(chuàng)建占位符(placeholder)。占位符是在構(gòu)建圖時(shí)提供輸入數(shù)據(jù)的地方,可以看作是圖中的參數(shù),但是其值在計(jì)算圖運(yùn)行時(shí)才需要指定。
它的作用是允許我們先定義一個(gè)計(jì)算圖,然后在實(shí)際運(yùn)行時(shí)再通過(guò)feed_dict參數(shù)傳入具體的數(shù)值。在定義占位符時(shí)需要指定數(shù)據(jù)類(lèi)型和形狀(可選),形狀參數(shù)可以為None,表示形狀可以是任意大小。
例如,可以使用tf.placeholder()來(lái)定義一個(gè)占位符來(lái)接收一個(gè)一維浮點(diǎn)數(shù)向量:
x = tf.placeholder(tf.float32, shape=(None,))
在實(shí)際運(yùn)行時(shí),我們可以通過(guò)feed_dict將一個(gè)具體的一維浮點(diǎn)數(shù)向量傳入x:
sess.run(..., feed_dict={x: [1.0, 2.0, 3.0]})
占位符在構(gòu)建許多常見(jiàn)的TensorFlow模型時(shí)非常有用,例如用于輸入訓(xùn)練樣本、標(biāo)簽、學(xué)習(xí)率等。