tf.placeholder類似函數中的形參


tf.placeholder(dtype, shape=None, name=None)

此函數可以理解為形參,用於定義過程,在執行的時候再賦具體的值


參數:

    dtype:數據類型。常用的是tf.float32,tf.float64等數值類型
    shape:數據形狀。默認是None,就是一維值,也可以是多維,比如[2,3], [None, 3]表示列是3,行不定
    name:名稱。

#coding: utf-8

import tensorflow as tf
import numpy as np

x = 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}))  # Will succeed.  

 

官方的話在feed里:TensorFlow 還提供了 feed 機制, 該機制 可以臨時替代圖中的任意操作中的 tensor 可以對圖中任何操作提交補丁, 直接插入一個 tensor.

feed 使用一個 tensor 值臨時替換一個操作的輸出結果. 你可以提供 feed 數據作為 run() 調用的參數. feed 只在調用它的方法內有效, 方法結束, feed 就會消失. 最常見的用例是將某些特殊的操作指定為 "feed" 操作, 標記的方法是使用 tf.placeholder() 為這些操作創建占位符.


input1 = tf.placeholder(tf.types.float32)
input2 = tf.placeholder(tf.types.float32)
output = tf.mul(input1, input2)

with tf.Session() as sess: print sess.run([output], feed_dict={input1:[7.], input2:[2.]}) # 輸出: # [array([ 14.], dtype=float32)]

參考:http://www.tensorfly.cn/tfdoc/get_started/basic_usage.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM