TensorFlow 是否允许定义未定义大小的变量?例如,我可以轻松地在形状中定义一个具有 None
值的占位符 - 这意味着这些值可以在构建图形后的运行时指定。 但是在构建图之前必须提供变量的形状。 前面的说法是正确的吗?如果是,为什么会这样?
最佳答案
在构建图形后,实际上可以更改变量形状。
例子:
value = tf.placeholder("float", [None])
x = tf.Variable(value, validate_shape=False)
with_assign_op = tf.assign(x, [1,2,3,4,5], validate_shape=False)
sess = tf.Session()
sess.run(tf.variables_initializer([x]), feed_dict={value: [1,2,3]})
print(sess.run(x)) # [ 1. 2. 3.]
sess.run(tf.variables_initializer([x]), feed_dict={value: [1,2,3,4]})
print(sess.run(x)) # [ 1. 2. 3. 4.]
sess.run(with_assign_op)
print(sess.run(x)) # [ 1. 2. 3. 4. 5.]
关于python - TensorFlow 是否允许定义未定义大小的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44440644/