我有以下代码,我正在尝试实现一种热编码。
x = tf.Variable(tf.zeros((10, 1)))
hprev = tf.Variable(tf.zeros((10, 1)))
k = tf.placeholder(tf.int32, shape=None, name="k")
y_op = tf.assign(x, x[k, 0].assign(1))
M_c = tf.concat((hprev, y_op), axis=0)
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
pri nt(sess.run(y_op,feed_dict={k:1}))
print(M_c.eval())
我得到了错误:
您必须使用dtype int32输入占位符张量'x_64'的值。
但是,我已经传递了1作为值,据我所知是整数。我做错了什么?我还是个初学者。我正在尝试在LSTM中实现公式的这一部分!
答案 0 :(得分:0)
您的占位符名称为k,但您输入了x的值。从feed_dict={x:1}
更改为feed_dict={k:1}
。