Tensorflow中的placeholder和feed_dict的使用
TensorFlow 支持占位符placeholder。占位符并沒有初始值,它只會(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ù)要通過常量表示,那么TensorFlow 的計(jì)算圖會(huì)非常大。因?yàn)槊吭黾右粋€(gè)常量,TensorFlow 都會(huì)在計(jì)算圖中增加一個(gè)結(jié)點(diǎ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]]
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python實(shí)現(xiàn)的將文件每一列寫入列表功能示例【測試可用】
這篇文章主要介紹了Python實(shí)現(xiàn)的將文件每一列寫入列表功能,涉及Python文件讀取、遍歷、序列追加、賦值等相關(guān)操作技巧,需要的朋友可以參考下2018-03-03
Python中def()函數(shù)的實(shí)戰(zhàn)練習(xí)題
def是define的縮寫,用來自定義函數(shù),下面這篇文章主要給大家介紹了關(guān)于Python中def()函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
socket + select 完成偽并發(fā)操作的實(shí)例
下面小編就為大家?guī)硪黄猻ocket + select 完成偽并發(fā)操作的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08
Python中flatten( )函數(shù)及函數(shù)用法詳解
flatten是numpy.ndarray.flatten的一個(gè)函數(shù),即返回一個(gè)一維數(shù)組。這篇文章主要介紹了Python中flatten( )函數(shù),需要的朋友可以參考下2018-11-11
使用celery執(zhí)行Django串行異步任務(wù)的方法步驟
這篇文章主要介紹了使用celery執(zhí)行Django串行異步任務(wù),文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Django具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
Python實(shí)現(xiàn)自動(dòng)化處理每月考勤缺卡數(shù)據(jù)
不管是上學(xué)還是上班都會(huì)統(tǒng)計(jì)考勤,有些學(xué)校或公司會(huì)對每月缺卡次數(shù)過多(比如三次以上)的人員進(jìn)行處罰。本文提供了Python自動(dòng)處理考勤和日志缺失的方法,需要的可以參考一下2022-06-06

