这是张量流中的错误吗?

我试图使用张量流生成Fibonacci数:F(n 2)= F(n 1)F(n).每次运行我的代码时,都会产生不同的结果,非常奇怪.代码很简单,粘贴在下面.

import tensorflow as tf

a = tf.Variable(1)
b = tf.Variable(1)
c = tf.Variable(2)
sum=tf.add(a,b) 

as0 = tf.assign(a,b)
as1=tf.assign(b, c) 
as2=tf.assign(c, sum) 

sess = tf.Session()
init = tf.global_variables_initializer()
sess.run(init)
for i in range(10):
    print(sess.run([as2, as1,as0]))
最佳答案
我认为@gdelab回答它并不完全正确.我的意思是,解决这个问题确实存在,但我认为这不是真正的原因.这是我的猜测.

我强烈认为您正试图在Jupyter笔记本上运行该代码.如果那不是真的,那么可能我错了.好吧,假设这是真的:

>第一次运行代码时,它会给出正确的输出First Time
>第二次运行代码时,它会提供另一个输出. enter image description here
>但那是因为你不是从零开始运行的.也就是说,内核未重新启动且变量未被擦除,因此输出会发生变化.如果您执行“重新启动内核”然后再次运行代码,则输出始终相同(第一个图像的输出)enter image description here

现在,请不要告诉我你没有使用Jupyter笔记本:)

转载注明原文:这是张量流中的错误吗? - 代码日志