在下面的代碼中,我正在寫一個四個循環來打印斐波那契的序列,以練習使用TensorFlow。但是,經過幾次迭代後,它會使數字爲負數,然後返回零。爲什麼?我怎樣才能解決這個問題?如果我使用浮動方式,它工作正常。此外,爲什麼這是如此緩慢相比,一個簡單的算法?在TensorFlow中添加兩個大數字時出錯
import tensorflow as tf
var1 = tf.Variable(1, tf.int8)
var2 = tf.Variable(1, tf.int8)
temp = tf.Variable(0, tf.int8)
var12 = tf.add(var1, var2)
task1 = tf.assign(var1, var2)
task2 = tf.assign(var2, var12)
task3 = tf.assign(var2, tf.add(var1, temp))
init_op = (tf.initialize_all_variables())
with tf.Session() as sess:
sess.run(init_op)
for _ in range(50):
sess.run(var12)
sess.run(task1)
sess.run(task2)
print(var12.eval(), end=',')
輸出: 3,6,12,24,48,96,192,384,768,1536,3072,6144,12288,24576,49152,98304,196608,393216,786432,1572864,3145728,6291456,12582912, 25165824,50331648,100663296,201326592,402653184,805306368,1610612736,-1073741824,-2147483648,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,