评估eval命令时出错

时间:2018-07-12 13:53:51

标签: tensorflow

我正在尝试运行以下代码。当我注释input1命令时,它可以正常工作。我想使用eval命令同时打印input1和input。有人可以指导我哪里错了吗?

 `input = tf.Variable(tf.random_normal([1,4,4,1]))
input1=input.eval()
sess= tf.InteractiveSession()
sess.run(tf.initialize_all_variables())
print(input.eval())
print(input1.eval())`

1 个答案:

答案 0 :(得分:0)

以下是此代码的几个问题:

  1. 请勿命名变量input。这是一个不好的做法,因为input是内置Python函数的名称,用于从shell接收信息。
  2. 您无法在.eval()对象中尚未初始化的变量上调用方法Session
  3. 不建议使用方法tf.initialize_all_variables(),请改用tf.global_variables_initializer()
  4. 运行InteractiveSession后,最好通过运行sess.close()将其关闭。

通过应用必要的更新,下面的代码块就是您要运行的代码:

input_var = tf.Variable(tf.random_normal([1,4,4,1]))

sess= tf.InteractiveSession()
sess.run(tf.global_variables_initializer())
print(input_var.eval())
sess.close()

'Output':
[[[[-0.27064177]
   [-0.05596501]
   [-0.5900124 ]
   [ 0.35008416]]

  [[ 2.5793896 ]
   [-0.9429237 ]
   [-1.8345704 ]
   [-0.45560673]]

  [[ 0.26966783]
   [-0.6355145 ]
   [ 0.13357505]
   [ 0.07976766]]

  [[ 1.0399019 ]
   [-0.8509619 ]
   [ 0.8938987 ]
   [ 0.279952  ]]]]