i
当 的值为3 的倍数时,以下代码不会产生“Fizz” :
@tf.function
def fizzbuzz(n):
msg = tf.constant('')
for i in tf.range(n):
if int(i % 3) == 0:
msg += 'Fizz'
elif tf.equal(i % 5, 0):
msg += 'Buzz'
else:
msg += tf.as_string(i)
msg += '\n'
return msg
print(fizzbuzz(tf.constant(15)).numpy().decode())
但是如果有人评论了@tf.function
装饰器,它可以正常工作为 3 的倍数。为什么?