为什么“tf.constant(tf.random_normal((10,4)))”会导致错误?

时间:2018-06-02 04:40:30

标签: python tensorflow initialization

在下面的代码中,“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)) 

1 个答案:

答案 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))