【发布时间】:2019-09-08 23:28:22
【问题描述】:
我想使用 TensorFlow 来训练一些潜在的(直到运行时才可用)变量。我收到以下错误:“ValueError: setting an array element with a sequence。”
如果我用常数值初始化“a”,我可以获得预期的结果,但是我的应用程序不允许在运行时知道“a”的值,我打算在之后使用梯度下降来细化它们它们变得可用。看起来“占位符”提供了此功能,但我显然需要一些帮助才能正确使用它们。我想知道将潜在变量输入 TensorFlow 图中的正确方法。这是一个简化的重现:
import tensorflow as tf
import numpy as np
a = tf.placeholder(tf.float64, [2, 1])
b = tf.Variable(np.array([[1., 3.]]))
c = tf.matmul(a, b)
latent = tf.Variable(np.array([[2.],[3.]]))
init_op = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init_op)
print(sess.run(c, feed_dict={a: latent}))
预期结果: [[ 2. 6.] [3. 9.]]
实际结果: ValueError: 使用序列设置数组元素。
【问题讨论】:
标签: python variables tensorflow placeholder