Computes cumprod of x in logspace using cumsum to avoid underflow.
tfa.seq2seq.safe_cumprod(
x: tfa.types.TensorLike
,
*args,
**kwargs
) -> tf.Tensor
The cumprod function and its gradient can result in numerical instabilities
when its argument has very small and/or zero values. As long as the
argument is all positive, we can instead compute the cumulative product as
exp(cumsum(log(x))). This function can be called identically to
tf.cumprod.
Args |
x
|
Tensor to take the cumulative product of.
|
*args
|
Passed on to cumsum; these are identical to those in cumprod.
|
**kwargs
|
Passed on to cumsum; these are identical to those in cumprod.
|
Returns |
Cumulative product of x.
|