function stridedSlice_(x, begin, end, strides, beginMask = 0, endMask = 0, ellipsisMask = 0, newAxisMask = 0, shrinkAxisMask = 0) {
    const $x = (0, _tensorUtilEnv.convertToTensor)(x, "x", "stridedSlice", "string_or_numeric");
    const inputs = {
        x: $x
    };
    const attrs = {
        begin,
        end,
        strides,
        beginMask,
        endMask,
        ellipsisMask,
        newAxisMask,
        shrinkAxisMask
    };
    return (0, _engine.ENGINE).runKernel((0, _kernelNames.StridedSlice), inputs, attrs);
}
Extracts a strided slice of a tensor.

Roughly speaking, this op extracts a slice of size (end-begin)/stride from
the given input tensor (x). Starting at the location specified by begin the
slice continues by adding stride to the index until all dimensions are not
less than end. Note that a stride can be negative, which causes a reverse
slice.

```js
const t = tf.tensor3d([1, 1, 1 ,2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6],
   [3, 2, 3]);
t.stridedSlice([1, 0, 0], [2, 1, 3], [1, 1, 1]).print()  // [[[3, 3, 3]]]
t.stridedSlice([1, 0, 0], [2, 2, 3], [1, 1, 1]).print()  // [[[3, 3, 3],
                                                    // [4, 4, 4]]]
t.stridedSlice([1, -1, 0], [2, -3, 3], [1, -1, 1]).print() // [[[4, 4, 4],
                                                    // [3, 3, 3]]]
```

@param x The tensor to stride slice.
@param begin The coordinates to start the slice from.
@param end: The coordinates to end the slice at.
@param strides: The size of the slice.
@param beginMask: If the ith bit of beginMask is set, begin[i] is ignored
     and the fullest possible range in that dimension is used instead.
@param endMask: If the ith bit of endMask is set, end[i] is ignored
     and the fullest possible range in that dimension is used instead.
@param shrinkAxisMask: a bitmask where bit i implies that
the ith specification should shrink the dimensionality. begin and end must
imply a slice of size 1 in the dimension.

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