Tensorflow中的placeholder和feed_dict的使用
TensorFlow 支持占位符placeholder。占位符并沒有初始值,它只會分配必要的內存。在會話中,占位符可以使用 feed_dict 饋送數(shù)據。
feed_dict是一個字典,在字典中需要給出每一個用到的占位符的取值。
在訓練神經網絡時需要每次提供一個批量的訓練樣本,如果每次迭代選取的數(shù)據要通過常量表示,那么TensorFlow 的計算圖會非常大。因為每增加一個常量,TensorFlow 都會在計算圖中增加一個結點。所以說擁有幾百萬次迭代的神經網絡會擁有極其龐大的計算圖,而占位符卻可以解決這一點,它只會擁有占位符這一個結點。
placeholder函數(shù)的定義為
tf.placeholder(dtype, shape=None, name=None)
參數(shù):
dtype:數(shù)據類型。常用的是tf.int32,tf.float32,tf.float64,tf.string等數(shù)據類型。
shape:數(shù)據形狀。默認是None,也就是一維值。
也可以表示多維,比如要表示2行3列則應設為[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)
運行結果: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)
運行結果:
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}))
運行結果:
[[0.62475741 0.40487182 0.5968855 ]
[0.17491265 0.08546661 0.23616122]
[0.53931886 0.24997233 0.56168258]]
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
如何使用pytorch實現(xiàn)LocallyConnected1D
由于LocallyConnected1D是Keras中的函數(shù),為了用pytorch實現(xiàn)LocallyConnected1D并在960×33的數(shù)據集上進行訓練和驗證,本文分步驟給大家介紹如何使用pytorch實現(xiàn)LocallyConnected1D,感興趣的朋友一起看看吧2023-09-09Python使用pyodbc訪問數(shù)據庫操作方法詳解
這篇文章主要介紹了Python使用pyodbc訪問數(shù)據庫操作方法,結合實例形式詳細分析了Python基于pyodbc針對數(shù)據庫的連接、查詢、插入、修改、刪除等操作技巧與注意事項,需要的朋友可以參考下2018-07-07django使用haystack調用Elasticsearch實現(xiàn)索引搜索
這篇文章主要介紹了django使用haystack調用Elasticsearch實現(xiàn)索引搜索,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-07-07