Функция cumsum
Функция cumsum применяется к тензору и
вычисляет накопительную сумму его элементов.
Первым параметром функция принимает тензор
или массив. Вторым параметром можно передать
номер оси axis, вдоль которой будет
производиться суммирование. Третьим параметром
можно указать exclusive, чтобы исключить
текущий элемент из суммы. Четвертым параметром
можно указать reverse для суммирования
в обратном порядке.
Синтаксис
tf.cumsum(x, [axis], [exclusive], [reverse])
Пример
Давайте создадим тензор из списка чисел
1, 2, 3, 4, 5
и вычислим накопительную сумму:
import tensorflow as tf
t = tf.constant([1, 2, 3, 4, 5])
res = tf.cumsum(t)
print(res)
Результат выполнения кода:
tf.Tensor([ 1 3 6 10 15], shape=(5,), dtype=int32)
Пример
Давайте вычислим накопительную сумму
двумерного тензора вдоль оси 0:
import tensorflow as tf
t = tf.constant([[1, 2, 3], [4, 5, 6]])
res = tf.cumsum(t, axis=0)
print(res)
Результат выполнения кода:
tf.Tensor(
[[1 2 3]
[5 7 9]], shape=(2, 3), dtype=int32)
Пример
Давайте вычислим накопительную сумму
двумерного тензора вдоль оси 1:
import tensorflow as tf
t = tf.constant([[1, 2, 3], [4, 5, 6]])
res = tf.cumsum(t, axis=1)
print(res)
Результат выполнения кода:
tf.Tensor(
[[ 1 3 6]
[ 4 9 15]], shape=(2, 3), dtype=int32)
Пример
Давайте вычислим накопительную сумму
с параметром exclusive, равным
True:
import tensorflow as tf
t = tf.constant([1, 2, 3, 4, 5])
res = tf.cumsum(t, exclusive=True)
print(res)
Результат выполнения кода:
tf.Tensor([ 0 1 3 6 10], shape=(5,), dtype=int32)
Пример
Давайте вычислим накопительную сумму
с параметром reverse, равным
True:
Результат выполнения кода:
tf.Tensor([15 14 12 9 5], shape=(5,), dtype=int32)
Смотрите также
-
функцию
cumprod,
которая вычисляет накопительное произведение -
функцию
reduce_sum,
которая вычисляет сумму элементов тензора -
функцию
segment_sum,
которая вычисляет сумму по сегментам -
функцию
add,
которая выполняет поэлементное сложение