tensorflow tf.placeholder()(相当于创建变量分配内存空间,但不赋值)
為什么要用placeholder?
Tensorflow的設(shè)計理念稱之為計算流圖,在編寫程序時,首先構(gòu)筑整個系統(tǒng)的graph,代碼并不會直接生效,這一點和python的其他數(shù)值計算庫(如Numpy等)不同,graph為靜態(tài)的,類似于docker中的鏡像。然后,在實際的運行時,啟動一個session,程序才會真正的運行。這樣做的好處就是:避免反復(fù)地切換底層程序?qū)嶋H運行的上下文,tensorflow幫你優(yōu)化整個系統(tǒng)的代碼。我們知道,很多python程序的底層為C語言或者其他語言,執(zhí)行一行腳本,就要切換一次,是有成本的,tensorflow通過計算流圖的方式,幫你優(yōu)化整個session需要執(zhí)行的代碼。
所以placeholder()函數(shù)是在神經(jīng)網(wǎng)絡(luò)構(gòu)建graph的時候在模型中的占位,此時并沒有把要輸入的數(shù)據(jù)傳入模型,它只會分配必要的內(nèi)存。等建立session,在會話中,運行模型的時候通過feed_dict()函數(shù)向占位符喂入數(shù)據(jù)。
參考文章:tf.placeholder函數(shù)說明
總結(jié)
以上是生活随笔為你收集整理的tensorflow tf.placeholder()(相当于创建变量分配内存空间,但不赋值)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tensorflow tf.name_s
- 下一篇: tensorflow tf.train.