Tensorflow中的placeholder和feed_dict的使用
TensorFlow 支持占位符placeholder。占位符并沒(méi)有初始值,它只會(huì)分配必要的內(nèi)存。在會(huì)話中,占位符可以使用 feed_dict 饋送數(shù)據(jù)。
feed_dict是一個(gè)字典,在字典中需要給出每一個(gè)用到的占位符的取值。
在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí)需要每次提供一個(gè)批量的訓(xùn)練樣本,如果每次迭代選取的數(shù)據(jù)要通過(guò)常量表示,那么TensorFlow 的計(jì)算圖會(huì)非常大。因?yàn)槊吭黾右粋€(gè)常量,TensorFlow 都會(huì)在計(jì)算圖中增加一個(gè)結(jié)點(diǎn)。所以說(shuō)擁有幾百萬(wàn)次迭代的神經(jīng)網(wǎng)絡(luò)會(huì)擁有極其龐大的計(jì)算圖,而占位符卻可以解決這一點(diǎn),它只會(huì)擁有占位符這一個(gè)結(jié)點(diǎn)。
placeholder函數(shù)的定義為
tf.placeholder(dtype, shape=None, name=None)
參數(shù):
dtype:數(shù)據(jù)類型。常用的是tf.int32,tf.float32,tf.float64,tf.string等數(shù)據(jù)類型。
shape:數(shù)據(jù)形狀。默認(rèn)是None,也就是一維值。
也可以表示多維,比如要表示2行3列則應(yīng)設(shè)為[2, 3]。
形如[None, 3]表示列是3,行不定。
name:名稱。
返回:Tensor類型
例1
import tensorflow as tf x = tf.placeholder(tf.string) with tf.Session() as sess: output = sess.run(x, feed_dict={x: 'Hello World'}) print(output)
運(yùn)行結(jié)果:Hello World
例2
import tensorflow as tf x = tf.placeholder(tf.string) y = tf.placeholder(tf.int32) z = tf.placeholder(tf.float32) with tf.Session() as sess: output = sess.run(x, feed_dict = {x :'Hello World', y:123, z:45.67}) print(output) output = sess.run(y, feed_dict = {x :'Hello World', y:123, z:45.67}) print(output) output = sess.run(z, feed_dict = {x :'Hello World', y:123, z:45.67}) print(output)
運(yùn)行結(jié)果:
Hello Word
123
45.66999816894531
例3:
import tensorflow as tf import numpy as np x = tf.placeholder(tf.float32, shape=(3, 3)) y = tf.matmul(x, x) with tf.Session() as sess: rand_array = np.random.rand(3, 3) print(sess.run(y, feed_dict = {x: rand_array}))
運(yùn)行結(jié)果:
[[0.62475741 0.40487182 0.5968855 ]
[0.17491265 0.08546661 0.23616122]
[0.53931886 0.24997233 0.56168258]]
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
如何使用pytorch實(shí)現(xiàn)LocallyConnected1D
由于LocallyConnected1D是Keras中的函數(shù),為了用pytorch實(shí)現(xiàn)LocallyConnected1D并在960×33的數(shù)據(jù)集上進(jìn)行訓(xùn)練和驗(yàn)證,本文分步驟給大家介紹如何使用pytorch實(shí)現(xiàn)LocallyConnected1D,感興趣的朋友一起看看吧2023-09-09分享8點(diǎn)超級(jí)有用的Python編程建議(推薦)
這篇文章主要介紹了分享8點(diǎn)超級(jí)有用的Python編程建議(推薦),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-10-10Python基于pillow庫(kù)實(shí)現(xiàn)生成圖片水印
這篇文章主要介紹了Python基于pillow庫(kù)實(shí)現(xiàn)生成圖片水印,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09利用Fn.py庫(kù)在Python中進(jìn)行函數(shù)式編程
這篇文章主要介紹了利用Fn.py庫(kù)在Python中進(jìn)行函數(shù)式編程,基于Scala中的類似風(fēng)格,需要的朋友可以參考下2015-04-04書(shū)寫Python代碼的一種更優(yōu)雅方式(推薦!)
Python是一個(gè)高層次的結(jié)合了解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮哪_本語(yǔ)言,下面這篇文章主要給大家介紹了關(guān)于書(shū)寫Python代碼的一種更優(yōu)雅方式,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10Python使用pyodbc訪問(wèn)數(shù)據(jù)庫(kù)操作方法詳解
這篇文章主要介紹了Python使用pyodbc訪問(wèn)數(shù)據(jù)庫(kù)操作方法,結(jié)合實(shí)例形式詳細(xì)分析了Python基于pyodbc針對(duì)數(shù)據(jù)庫(kù)的連接、查詢、插入、修改、刪除等操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-07-07python運(yùn)行cmd命令行的3種方法總結(jié)
雖然python在調(diào)用cmd命令方面使用的比較少,不過(guò)還是要用的,下面這篇文章主要給大家介紹了關(guān)于python運(yùn)行cmd命令行的3種方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09django使用haystack調(diào)用Elasticsearch實(shí)現(xiàn)索引搜索
這篇文章主要介紹了django使用haystack調(diào)用Elasticsearch實(shí)現(xiàn)索引搜索,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07