Variables Tensorflow使用numpy初始化变量';行不通

Variables Tensorflow使用numpy初始化变量';行不通,variables,numpy,tensorflow,initialization,Variables,Numpy,Tensorflow,Initialization,因此,我尝试使用一些特定的权重初始化变量: W = tf.Variable(np.eye(19) , name = 'Diag') 但如果我现在运行此代码: with tf.Session() as sess: sess.run(tf.initialize_all_variables()) print(W.eval()) 我最终得到了一个零矩阵: [[ 0. 0. 0.] [ 0. 0. 0.] [ 0. 0. 0.]] 我不明白发生了什么事。 W=t

因此,我尝试使用一些特定的权重初始化变量:

W = tf.Variable(np.eye(19) , name = 'Diag')
但如果我现在运行此代码:

with tf.Session() as sess:
    sess.run(tf.initialize_all_variables())
    print(W.eval())
我最终得到了一个零矩阵:

 [[ 0.  0.  0.]
  [ 0.  0.  0.]
  [ 0.  0.  0.]]
我不明白发生了什么事。 W=tf.Variable([1,2,3],name='Diag') 保留值。我该怎么办


我猜tf.initialize_all_variables()会覆盖我的值,但如果没有它,我会得到FailedPremissionError,它会抱怨单位化变量。

没有理由不起作用-我只是尝试了一下,它可以按预期工作(使用tf 0.12)。请注意,当您初始化
W
时,它具有形状(19,19),但当您打印它时,它具有形状(3,3)。在构造
W
和打印它之间一定发生了一些事情,而您没有在这里显示它…另外,您应该使用
tf.global\u variables\u initializer()
而不是
tf.initialize\u all\u variables()
因为后者不推荐使用(但这不应该是错误的原因)。您是对的,它确实有效,我只需要重新启动docker容器。有时tensorflow会做一些奇怪的事情。