我试图用tensorflow生成斐波纳契数: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]))
你是什么意思它返回不同的结果?我只是尝试过,每次都是一样的。似乎没有正确地产生你的序列,虽然 – JCooke
这是一个有趣的!我每次都会得到不同的值,总是不正确的,并且总是第二和第三个元素相等,as2 [i] = as1 [i] + as1 [i-1]。我的猜测是,当你调用sess.run()时,你只是不知道图表执行的顺序是什么,所以分配和总和是以错误的(每次可能不同的)顺序执行的,到目前为止这是可能的你们知道吗? – gdelab
顺便说一句,问题的标题太宽泛,你应该改变它来描述你的问题更好 – gdelab