次のコードは、 の値が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 の倍数で正常に機能します。