在下面的代码中,“a”完全正常,“c”也可以。但“b”会导致错误。有人能解释一下原因吗?
#!/usr/bin/python
import tensorflow as tf
import numpy as np
a = tf.Variable(tf.random_normal((10, 4)))
b = tf.constant(tf.random_normal((10, 4)))
c = tf.constant(np.random.randn(10, 4))
答案 0 :(得分:1)
我也是一个开始使用tensorflow的新人。我相信你的变量类型有问题。根据tensorflow API,您应该将常量或值列表提供给'tf.constant()'。但是,在您的代码中,在初始化变量并运行此会话之前,'tf.random_normal()'就像占位符,没有任何实际意义。您可以尝试运行此代码。我不确定我是否理解这个问题,我想和你讨论。
import tensorflow as tf
a = tf.random_normal((10, 4))
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
b = tf.constant(sess.run(a))
print(sess.run(b))