Esta página foi traduzida pela API Cloud Translation.
Switch to English

tf.math.cumsum

TensorFlow 1 versão Ver fonte no GitHub

Calcular a soma cumulativa do tensor x ao longo axis .

Por defeito, esta op executa um cumSum incluído, o que significa que o primeiro elemento de entrada é idêntica à do primeiro elemento da saída: Por exemplo:

# 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)>

Ao definir o exclusive kwarg para True , um cumSum exclusivo é realizada em vez disso:

# 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)>

Ao definir o reverse kwarg a True , o cumSum é realizada no sentido oposto:

# 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)>

Isso é mais eficiente do que usar separadas tf.reverse ops. Os reverse e exclusive kwargs também podem ser combinados:

# 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 . Deve ser um dos seguintes tipos: float32 , float64 , int64 , int32 , uint8 , uint16 , int16 , int8 , complex64 , complex128 , qint8 , quint8 , qint32 , half .
axis A Tensor do tipo int32 (default: 0). Deve estar na faixa [-rank(x), rank(x)) .
exclusive Se True , execute cumSum exclusivo.
reverse Um bool (padrão: False).
name Um nome para a operação (opcional).

A Tensor . Tem o mesmo tipo x .