在TensorFlow中获取占位符数组中的值

时间:2016-11-07 16:37:53

标签: python tensorflow

当我尝试读取占位符中的值时,我遇到了while_loop错误。

需求包:

import tensorflow as tf
import numpy as np
# Start TensorFlow InteractiveSession
sess = tf.InteractiveSession()

# We define the input variable set to the problem 
input1 = tf.placeholder(tf.float32, shape=[None,100], name='input1') 

# Define the variable to traing 
L = tf.Variable(np.identity(100, dtype='float32'), trainable=False)
i0 = tf.placeholder(tf.int32)

我们使用函数来定义正文,或使用lambda函数来处理条件。这是不同的......

但我有一个问题,因为我想在某个位置获取input1的值。 Y尝试使用eval,i0.eval(),但这不起作用。

def body(i0,L,input1):
    N_valu = input1[:,i0] # Here is the error... 
    L = L+N_valu*tf.matmul(tf.transpose(L),L)
    i0 = tf.add(i0,1)
    return i0,L,input1

condition = lambda i0,L,input1: i0 < 100

sess.run(tf.initialize_all_variables())
i00,L0,input10 = tf.while_loop(condition, body, [i0,L,input1])

N1 = np.array(range(0,100)).reshape([1,100])

feed_dict={input1:N1, i0:0}
Lprueba = L0.eval(feed_dict=feed_dict)
print(i00.eval(feed_dict=feed_dict))

有些帮助吗?

0 个答案:

没有答案