function scatterND_(indices, updates, shape) {
    (0, _utilBase.assertNonNegativeIntegerDimensions)(shape);
    const $indices = (0, _tensorUtilEnv.convertToTensor)(indices, "indices", "scatterND", "int32");
    const $updates = (0, _tensorUtilEnv.convertToTensor)(updates, "updates", "scatterND");
    _scatterNdUtil.validateInput($updates, $indices, shape);
    const inputs = {
        indices: $indices,
        updates: $updates
    };
    const attrs = {
        shape
    };
    // tslint:disable-next-line: no-unnecessary-type-assertion
    return (0, _engine.ENGINE).runKernel((0, _kernelNames.ScatterNd), inputs, attrs);
}
Creates a new tensor by applying sparse updates to individual
values or slices within a zero tensor of the given shape tensor according to
indices. This operator is the inverse of the `tf.gatherND` operator which
extracts values or slices from a given tensor.

```js
const indices = tf.tensor2d([4, 3, 1, 7], [4, 1], 'int32');
const updates = tf.tensor1d([9, 10, 11, 12]);
const shape = [8];
tf.scatterND(indices, updates, shape).print() //[0, 11, 0, 10, 9, 0, 0, 12]
```

@param indices The tensor contains the indices into the output tensor.
@param updates The tensor contains the value for the indices.
@param shape: The shape of the output tensor.

@doc {heading: 'Operations', subheading: 'Slicing and Joining'}