|
|
|
@ -3275,7 +3275,9 @@ class ScatterUpdate(_ScatterOp_Dynamic):
|
|
|
|
|
Using given values to update tensor value, along with the input indices.
|
|
|
|
|
|
|
|
|
|
for each `i, ..., j` in `indices.shape`:
|
|
|
|
|
|
|
|
|
|
.. math::
|
|
|
|
|
|
|
|
|
|
\text{input_x}[\text{indices}[i, ..., j], :] = \text{updates}[i, ..., j, :]
|
|
|
|
|
|
|
|
|
|
Inputs of `input_x` and `updates` comply with the implicit type conversion rules to make the data types consistent.
|
|
|
|
@ -3391,7 +3393,9 @@ class ScatterMax(_ScatterOp):
|
|
|
|
|
This operation outputs the `input_x` after the update is done, which makes it convenient to use the updated value.
|
|
|
|
|
|
|
|
|
|
for each `i, ..., j` in `indices.shape`:
|
|
|
|
|
|
|
|
|
|
.. math::
|
|
|
|
|
|
|
|
|
|
\text{input_x}[\text{indices}[i, ..., j], :]
|
|
|
|
|
= max(\text{input_x}[\text{indices}[i, ..., j], :], \text{updates}[i, ..., j, :])
|
|
|
|
|
|
|
|
|
@ -3435,7 +3439,9 @@ class ScatterMin(_ScatterOp):
|
|
|
|
|
This operation outputs the `input_x` after the update is done, which makes it convenient to use the updated value.
|
|
|
|
|
|
|
|
|
|
for each `i, ..., j` in `indices.shape`:
|
|
|
|
|
|
|
|
|
|
.. math::
|
|
|
|
|
|
|
|
|
|
\text{input_x}[\text{indices}[i, ..., j], :]
|
|
|
|
|
= min(\text{input_x}[\text{indices}[i, ..., j], :], \text{updates}[i, ..., j, :])
|
|
|
|
|
|
|
|
|
@ -3479,7 +3485,9 @@ class ScatterAdd(_ScatterOp_Dynamic):
|
|
|
|
|
This operation outputs the `input_x` after the update is done, which makes it convenient to use the updated value.
|
|
|
|
|
|
|
|
|
|
for each `i, ..., j` in `indices.shape`:
|
|
|
|
|
|
|
|
|
|
.. math::
|
|
|
|
|
|
|
|
|
|
\text{input_x}[\text{indices}[i, ..., j], :] \mathrel{+}= \text{updates}[i, ..., j, :]
|
|
|
|
|
|
|
|
|
|
Inputs of `input_x` and `updates` comply with the implicit type conversion rules to make the data types consistent.
|
|
|
|
@ -3529,7 +3537,9 @@ class ScatterSub(_ScatterOp):
|
|
|
|
|
This operation outputs the `input_x` after the update is done, which makes it convenient to use the updated value.
|
|
|
|
|
|
|
|
|
|
for each `i, ..., j` in `indices.shape`:
|
|
|
|
|
|
|
|
|
|
.. math::
|
|
|
|
|
|
|
|
|
|
\text{input_x}[\text{indices}[i, ..., j], :] \mathrel{-}= \text{updates}[i, ..., j, :]
|
|
|
|
|
|
|
|
|
|
Inputs of `input_x` and `updates` comply with the implicit type conversion rules to make the data types consistent.
|
|
|
|
@ -3573,7 +3583,9 @@ class ScatterMul(_ScatterOp):
|
|
|
|
|
This operation outputs the `input_x` after the update is done, which makes it convenient to use the updated value.
|
|
|
|
|
|
|
|
|
|
for each `i, ..., j` in `indices.shape`:
|
|
|
|
|
|
|
|
|
|
.. math::
|
|
|
|
|
|
|
|
|
|
\text{input_x}[\text{indices}[i, ..., j], :] \mathrel{*}= \text{updates}[i, ..., j, :]
|
|
|
|
|
|
|
|
|
|
Inputs of `input_x` and `updates` comply with the implicit type conversion rules to make the data types consistent.
|
|
|
|
@ -3616,7 +3628,9 @@ class ScatterDiv(_ScatterOp):
|
|
|
|
|
This operation outputs the `input_x` after the update is done, which makes it convenient to use the updated value.
|
|
|
|
|
|
|
|
|
|
for each `i, ..., j` in `indices.shape`:
|
|
|
|
|
|
|
|
|
|
.. math::
|
|
|
|
|
|
|
|
|
|
\text{input_x}[\text{indices}[i, ..., j], :] \mathrel{/}= \text{updates}[i, ..., j, :]
|
|
|
|
|
|
|
|
|
|
Inputs of `input_x` and `updates` comply with the implicit type conversion rules to make the data types consistent.
|
|
|
|
|