tf.placeholder函数的用法
生活随笔
收集整理的這篇文章主要介紹了
tf.placeholder函数的用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Tensorflow中的palceholder,中文翻譯為占位符?
? ? ?在代碼層面,每一個tensor值在graph上都是一個op,當我們將train數據分成一個個minibatch然后傳入網絡進行訓練時,每一個minibatch都將是一個op,這樣的話,一副graph上的op未免太多,也會產生巨大的開銷;于是就有了tf.placeholder(),我們每次可以將 一個minibatch傳入到x = tf.placeholder(tf.float32,[None,32])上,下一次傳入的x都替換掉上一次傳入的x,這樣就對于所有傳入的minibatch x就只會產生一個op,不會產生其他多余的op,進而減少了graph的開銷。
函數形式:
tf.placeholder(dtype,shape=None,name=None )函數參數:
- dtype:數據類型。常用的是tf.float32,tf.float64等數值類型
- shape:數據形狀。默認是None,就是一維值,也可以是多維(比如[2,3], [None, 3]表示列是3,行不定)
- name:名稱
返回:
Tensor類型。
代碼示例1:
import tensorflow as tf import numpy as npa = tf.placeholder(tf.float32) b = tf.placeholder(tf.float32)output = tf.multiply(a, b)with tf.Session() as sess:print(sess.run(output, feed_dict = {a:[3.], b: [4.]}))代碼示例2:?
import tensorflow as tf import numpy as npx = tf.placeholder(tf.float32, shape=(1024, 1024)) y = tf.matmul(x, x)with tf.Session() as sess:#print(sess.run(y)) # ERROR:此處x還沒有賦值rand_array = np.random.rand(1024, 1024)print(sess.run(y, feed_dict={x: rand_array}))代碼示例3:
其實feed_dict可以喂東西給其他tensor,不止placeholder這一種。
import tensorflow as tfa = tf.placeholder(dtype=tf.float32) b = tf.constant(2.0) c = tf.add(a, b)with tf.Session() as sess:print sess.run(c, feed_dict = {a: 1.0, b: 3.0}) #結果為4.0運行的結果為4,這里利用feed_dict將3.0送給了tensor b
參考資料:https://www.jianshu.com/p/ec261a65e3c9
總結
以上是生活随笔為你收集整理的tf.placeholder函数的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: np.nonzero()函数的解析
- 下一篇: 牛客网NC112--进制转换