使用Tensorflow中的sess.run()不会改变值

时间:2016-12-24 09:31:10

标签: python tensorflow

我在做一些简单的计算时出了问题,我的代码如下:

import tensorflow as tf
import numpy as np
#...
Zeta=0.05
Lambda=2**20

step1 =sess.run(tf.matmul(x_k,alpha_T))
step2 =Lambda*step1
step3 =Zeta+step2
step1_2_3 = sess.run(Zeta + Lambda*tf.matmul(x_k,alpha_T))

print step1
print step2
print step3
print step1_2_3

它打印出来像:

[[ 1.60326695]]
[[ 1681147.25]]
[[ 1681147.3]]
[[ 1681147.25]]

看来step1_2_3step1step2step3组合而成。

为什么不是step1_2_3[[ 1681147.3]]

1 个答案:

答案 0 :(得分:0)

我运行了这段代码:

import tensorflow as tf
import numpy as np

sess = tf.Session()

x_k = np.array([[1.0]])
alpha_T = np.array([[1.60326695]])

Zeta = 0.05
Lambda = 2**20

step1 = sess.run(tf.matmul(x_k,alpha_T))
step2 = Lambda*step1
step3 = Zeta+step2
step1_2_3 = sess.run(Zeta + Lambda*tf.matmul(x_k,alpha_T))

print('step1', step1)
print('step2', step2)
print('step3', step3)
print('step1_2_3', step1_2_3)

产生了这个:

('step1', array([[ 1.60326695]]))
('step2', array([[ 1681147.2453632]]))
('step3', array([[ 1681147.2953632]]))
('step1_2_3', array([[ 1681147.2953632]]))

似乎对我来说是一样的。也许某些代码中有些内容没有包含在内。