what is tf.data.dataset.reduce()
# import tensorflow
import tensorflow as tf
# using tf.data.Dataset.reduce() method
data = tf.data.Dataset.from_tensor_slices([1, 2, 3, 4, 5])
print(data.reduce(0, lambda x, y: x + y).numpy())
# it return the summation of all element
# 0 + (1+2+3+4+5)
>> 15
# if we use 1 instead of 0 then after summation of all array
# we also sum this extra 1 , so the result will be ---
print(data.reduce(1, lambda x, y: x + y).numpy())
# 1+(1+2+3+4+5)
>>16
# import tensorflow
import tensorflow as tf
# using tf.data.Dataset.reduce() method
data = tf.data.Dataset.from_tensor_slices([[5, 10], [3, 6]])
print(data.reduce(0, lambda x, y: x * y).numpy())
# [5*3*0 10*6*0]
>>[0 0]
print(data.reduce(1, lambda x, y: x * y).numpy())
# [5*3*1 10*6*1]
>>[15 60]
# so what about this example?
print(data.reduce(2, lambda x, y: x * y).numpy())
# as you expect!!
# [5*3*2 10*6*2]
>>[30 120]