tf.ragged.range(
starts,
limits=None,
deltas=1,
dtype=None,
name=None
)
Defined in tensorflow/python/ops/ragged/ragged_math_ops.py
.
Returns a RaggedTensor
containing the specified sequences of numbers.
Each row of the returned RaggedTensor
contains a single sequence:
ragged.range(starts, limits, deltas)[i] ==
tf.range(starts[i], limits[i], deltas[i])
If start[i] < limits[i] and deltas[i] > 0
, then output[i]
will be an
empty list. Similarly, if start[i] > limits[i] and deltas[i] < 0
, then
output[i]
will be an empty list. This behavior is consistent with the
Python range
function, but differs from the tf.range
op, which returns
an error for these cases.
Examples:
>>> ragged.range([3, 5, 2]).eval().tolist()
[[0, 1, 2], [0, 1, 2, 3, 4], [0, 1]]
>>> ragged.range([0, 5, 8], [3, 3, 12]).eval().tolist()
[[0, 1, 2], [], [8, 9, 10, 11]]
>>> ragged.range([0, 5, 8], [3, 3, 12], 2).eval().tolist()
[[0, 2], [], [8, 10]]
The input tensors starts
, limits
, and deltas
may be scalars or vectors.
The vector inputs must all have the same size. Scalar inputs are broadcast
to match the size of the vector inputs.
Args:
starts
: Vector or scalarTensor
. Specifies the first entry for each range iflimits
is notNone
; otherwise, specifies the range limits, and the first entries default to0
.limits
: Vector or scalarTensor
. Specifies the exclusive upper limits for each range.deltas
: Vector or scalarTensor
. Specifies the increment for each range. Defaults to1
.dtype
: The type of the elements of the resulting tensor. If not specified, then a value is chosen based on the other args.name
: A name for the operation.
Returns:
A RaggedTensor
of type dtype
with ragged_rank=1
.