Spec-Zone.ru › TensorFlow 2.4

tf.math.cumsum

Просмотреть исходный код на GitHub

Вычислить кумулятивную сумму тензора x по axis.

Просмотр псевдонимов

Основные псевдонимы

tf.cumsum

Псевдонимы совместимости для миграции

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.cumsum, tf.compat.v1.math.cumsum

tf.math.cumsum(
    x, axis=0, exclusive=False, reverse=False, name=None
)

По умолчанию этот оператор выполняет кумулятивную сумму с включением, что означает, что первый элемент входных данных идентичен первому элементу выходных данных: Например:

# tf.cumsum([a, b, c])   # [a, a + b, a + b + c]
x = tf.constant([2, 4, 6, 8])
tf.cumsum(x)
<tf.Tensor: shape=(4,), dtype=int32,
numpy=array([ 2,  6, 12, 20], dtype=int32)>
# using varying `axis` values
y = tf.constant([[2, 4, 6, 8], [1,3,5,7]])
tf.cumsum(y, axis=0)
<tf.Tensor: shape=(2, 4), dtype=int32, numpy=
array([[ 2,  4,  6,  8],
       [ 3,  7, 11, 15]], dtype=int32)>
tf.cumsum(y, axis=1)
<tf.Tensor: shape=(2, 4), dtype=int32, numpy=
array([[ 2,  6, 12, 20],
       [ 1,  4,  9, 16]], dtype=int32)>

Установив параметр exclusive в значение True, выполняется кумулятивная сумма без включения:

# tf.cumsum([a, b, c], exclusive=True)  => [0, a, a + b]
x = tf.constant([2, 4, 6, 8])
tf.cumsum(x, exclusive=True)
<tf.Tensor: shape=(4,), dtype=int32,
numpy=array([ 0,  2,  6, 12], dtype=int32)>

Установив параметр reverse в значение True, кумулятивная сумма выполняется в противоположном направлении:

# tf.cumsum([a, b, c], reverse=True)  # [a + b + c, b + c, c]
x = tf.constant([2, 4, 6, 8])
tf.cumsum(x, reverse=True)
<tf.Tensor: shape=(4,), dtype=int32,
numpy=array([20, 18, 14,  8], dtype=int32)>

Это более эффективно, чем использование отдельных операторов tf.reverse. Параметры reverse и exclusive также могут быть объединены:

# tf.cumsum([a, b, c], exclusive=True, reverse=True)  # [b + c, c, 0]
x = tf.constant([2, 4, 6, 8])
tf.cumsum(x, exclusive=True, reverse=True)
<tf.Tensor: shape=(4,), dtype=int32,
numpy=array([18, 14,  8,  0], dtype=int32)>
Аргументы
x A Tensor. Должен быть одним из следующих типов: float32, float64, int64, int32, uint8, uint16, int16, int8, complex64, complex128, qint8, quint8, qint32, half.
axis A Tensor типа int32 (по умолчанию: 0). Должен находиться в диапазоне [-rank(x), rank(x)).
exclusive Если True, выполнить кумулятивную сумму без включения.
reverse A bool (по умолчанию: False).
name Имя операции (необязательно).
Возвращаемое значение
A Tensor. Имеет тот же тип, что и x.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/math/cumsum

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API