张量的值发生了惊人的变化

时间:2018-08-05 05:18:28

标签: tensorflow keras

我发现张量的值总是在循环变化。我在这里列出了部分代码:

agent_prob = tf.zeros([BATCH_SIZE, 1], dtype = tf.float32)
feed_data = tf.ones([BATCH_SIZE, 1], dtype = tf.int32)

for time in range(STEP):
    agent_logits = agent(feed_data)
    agent_log_prob = K.log(K.softmax(agent_logits))[:, -1, :]
    index = tf.stack([tf.range(indices.shape[0])[:, None], indices], axis = 2)
    agent_loss = tf.gather_nd(agent_log_prob, index)
    agent_prob = tf.concat([agent_prob, agent_loss], axis=1) 

我在循环内打印出agent_prob.eval(),这是前三个循环的结果。您可以看到上一次迭代中的值在下一个迭代中已被其他随机值替换。

[[ 0.       -4.481065]
 [ 0.       -4.481065]]

[[ 0.       -4.481062 -4.479786]
   [ 0.       -4.481065 -4.479623]]

[[ 0.        -4.2824945 -4.4838    -4.4854503]
 [ 0.        -4.481065  -4.47854   -4.4854517]]

任何人都可以解释吗?谢谢!

0 个答案:

没有答案