tf.math.cumsum
Вычисляет кумулятивную сумму тензора x вдоль axis.
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 | Тензор Tensor. Должен иметь один из следующих типов: float32, float64, int64, int32, uint8, uint16, int16, int8, complex64, complex128, qint8, quint8, qint32, half. |
axis | Тензор Tensor типа int32 (по умолчанию: 0). Должен находиться в диапазоне [-rank(x), rank(x)). |
exclusive | Если True, вычисляется исключительная кумулятивная сумма. |
reverse | Логическое значение bool (по умолчанию: False). |
name | Необязательное имя операции. |
| Возвращает | |
|---|---|
Тензор Tensor. Имеет тот же тип, что и x. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/math/cumsum