tf.sequence_mask( lengths, maxlen=None, dtype=tf.bool, name=None )
Defined in tensorflow/python/ops/array_ops.py
.
See the guide: Tensor Transformations > Slicing and Joining
Returns a mask tensor representing the first N positions of each cell.
If lengths
has shape [d_1, d_2, ..., d_n]
the resulting tensor mask
has dtype dtype
and shape [d_1, d_2, ..., d_n, maxlen]
, with
mask[i_1, i_2, ..., i_n, j] = (j < lengths[i_1, i_2, ..., i_n])
Examples:
tf.sequence_mask([1, 3, 2], 5) # [[True, False, False, False, False], # [True, True, True, False, False], # [True, True, False, False, False]] tf.sequence_mask([[1, 3],[2,0]]) # [[[True, False, False], # [True, True, True]], # [[True, True, False], # [False, False, False]]]
lengths
: integer tensor, all its values <= maxlen.maxlen
: scalar integer tensor, size of last dimension of returned tensor. Default is the maximum value in lengths
.dtype
: output type of the resulting tensor.name
: name of the op.A mask tensor of shape lengths.shape + (maxlen,)
, cast to specified dtype.
ValueError
: if maxlen
is not a scalar.
© 2018 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/sequence_mask