tf.math.cumprod
Stay organized with collections
Save and categorize content based on your preferences.
Compute the cumulative product of the tensor x
along axis
.
tf.math.cumprod(
x, axis=0, exclusive=False, reverse=False, name=None
)
By default, this op performs an inclusive cumprod, which means that the
first element of the input is identical to the first element of the output:
tf.math.cumprod([a, b, c]) # [a, a * b, a * b * c]
By setting the exclusive
kwarg to True
, an exclusive cumprod is
performed
instead:
tf.math.cumprod([a, b, c], exclusive=True) # [1, a, a * b]
By setting the reverse
kwarg to True
, the cumprod is performed in the
opposite direction:
tf.math.cumprod([a, b, c], reverse=True) # [a * b * c, b * c, c]
This is more efficient than using separate tf.reverse
ops.
The reverse
and exclusive
kwargs can also be combined:
tf.math.cumprod([a, b, c], exclusive=True, reverse=True) # [b * c, c, 1]
Args |
x
|
A Tensor . Must be one of the following types: float32 , float64 ,
int64 , int32 , uint8 , uint16 , int16 , int8 , complex64 ,
complex128 , qint8 , quint8 , qint32 , half .
|
axis
|
A Tensor of type int32 (default: 0). Must be in the range
[-rank(x), rank(x)) .
|
exclusive
|
If True , perform exclusive cumprod.
|
reverse
|
A bool (default: False).
|
name
|
A name for the operation (optional).
|
Returns |
A Tensor . Has the same type as x .
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.
Last updated 2024-04-26 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-04-26 UTC."],[],[],null,["# tf.math.cumprod\n\n\u003cbr /\u003e\n\n|------------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.16.1/tensorflow/python/ops/math_ops.py#L4239-L4290) |\n\nCompute the cumulative product of the tensor `x` along `axis`.\n\n#### View aliases\n\n\n**Compat aliases for migration**\n\nSee\n[Migration guide](https://www.tensorflow.org/guide/migrate) for\nmore details.\n\n[`tf.compat.v1.cumprod`](https://www.tensorflow.org/api_docs/python/tf/math/cumprod), [`tf.compat.v1.math.cumprod`](https://www.tensorflow.org/api_docs/python/tf/math/cumprod)\n\n\u003cbr /\u003e\n\n tf.math.cumprod(\n x, axis=0, exclusive=False, reverse=False, name=None\n )\n\nBy default, this op performs an inclusive cumprod, which means that the\nfirst element of the input is identical to the first element of the output: \n\n tf.math.cumprod([a, b, c]) # [a, a * b, a * b * c]\n\nBy setting the `exclusive` kwarg to `True`, an exclusive cumprod is\nperformed\ninstead: \n\n tf.math.cumprod([a, b, c], exclusive=True) # [1, a, a * b]\n\nBy setting the `reverse` kwarg to `True`, the cumprod is performed in the\nopposite direction: \n\n tf.math.cumprod([a, b, c], reverse=True) # [a * b * c, b * c, c]\n\nThis is more efficient than using separate [`tf.reverse`](../../tf/reverse) ops.\nThe `reverse` and `exclusive` kwargs can also be combined: \n\n tf.math.cumprod([a, b, c], exclusive=True, reverse=True) # [b * c, c, 1]\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|-------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `x` | A `Tensor`. Must be one of the following types: `float32`, `float64`, `int64`, `int32`, `uint8`, `uint16`, `int16`, `int8`, `complex64`, `complex128`, `qint8`, `quint8`, `qint32`, `half`. |\n| `axis` | A `Tensor` of type `int32` (default: 0). Must be in the range `[-rank(x), rank(x))`. |\n| `exclusive` | If `True`, perform exclusive cumprod. |\n| `reverse` | A `bool` (default: False). |\n| `name` | A name for the operation (optional). |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|---|---|\n| A `Tensor`. Has the same type as `x`. ||\n\n\u003cbr /\u003e"]]