2017-03-11 55 views
0

我初學tensorflow和我的工作,我希望值發送到一個佔位符,並使用該佔位符的功能,所以我將簡化我想要什麼的項目。如何使用tensorflow中的feed_dict將值發送到函數?

這是一個簡單的代碼

import tensorflow as tf 
import glob 
from PIL import Image 
import numpy as np 
import math 
import matplotlib.pyplot as plt 
import matplotlib.gridspec as gridspec 

x = tf.placeholder(dtype=tf.float32,shape=[1]) 

def fun(): 
    print(x) 
    return x 

with tf.Session() as sess: 
    sess.run(fun(),feed_dict={x:[5.]}) 

我想使用的功能裏面X價值,但是當我打印我得到的形狀唯一但是我使用sess.run運行函數,這樣我希望打印的值不是形狀,而且當我使用打印(sess.run(X))它給我的錯誤,並說我必須養活X與價值所以我失去了什麼?

回答

1

你應該寫這樣的:

x = tf.placeholder(dtype=tf.float32,shape=[1]) 


def fun(): 
    return x 


with tf.Session() as sess: 
    y=sess.run(fun(),feed_dict={x:[5.]}) 
    print(y) 
+0

爲什麼我需要發送X到功能它是一個全局變量? ,,但是當我將其發送到它的功能只打印tensorobject也和我想使用它的一些代碼的功能不sess.run –

+0

你不必後,發送X,看到我的編輯響應內在價值。我編寫的代碼使您可以使用y內的值。如果你想使用它,你需要將它分配給一個變量,這就是爲什麼它寫成「y = ...」。 –

+0

不,我想用內部樂趣(),我在一個項目中使用的相同方式通過X值,我想使用一些代碼的功能,這句法餵養內佔位符值不值發送到它和我不能使用它的價值,只給我張量對象。 –

相關問題