搜索值在排序序列中的位置。
用法
tf.searchsorted(
sorted_sequence, values, side='left', out_type=tf.dtypes.int32,
name=None
)
参数
-
sorted_sequence
N-DTensor
包含已排序的序列。 -
values
N-DTensor
包含搜索值。 -
side
'left'或'right'; 'left' 对应于lower_bound,'right' 对应于upper_bound。 -
out_type
输出类型(int32
或int64
)。默认为tf.int32
。 -
name
操作的可选名称。
返回
-
一个 N-D
Tensor
大小为values
包含将 lower_bound 或 upper_bound(取决于边)应用于每个值的结果。结果不是整个Tensor
的全局索引,而是最后一个维度中的索引。
抛出
-
ValueError
如果sorted_sequence >= 2^31-1
元素的最后一个维度。如果values
的总大小超过2^31 - 1
元素。如果两个张量的第一个N-1
维度不匹配。
这不是检查遏制的方法(如 python in
)。
此操作的典型用例是"binning"、"bucketing" 或"discretizing"。 values
根据 sorted_sequence
中列出的边分配给 bucket-indices。此操作返回每个值的bucket-index。
edges = [-1, 3.3, 9.1, 10.0]
values = [0.0, 4.1, 12.0]
tf.searchsorted(edges, values).numpy()
array([1, 2, 4], dtype=int32)
side
参数控制如果值恰好落在边上,则返回哪个索引:
seq = [0, 3, 9, 10, 10]
values = [0, 4, 10]
tf.searchsorted(seq, values).numpy()
array([0, 2, 3], dtype=int32)
tf.searchsorted(seq, values, side="right").numpy()
array([1, 2, 5], dtype=int32)
axis
不可为此操作设置。它总是在最里面的维度(axis=-1
)上运行。该操作将接受任意数量的外部尺寸。在这里,它应用于矩阵的行:
sorted_sequence = [[0., 3., 8., 9., 10.],
[1., 2., 3., 4., 5.]]
values = [[9.8, 2.1, 4.3],
[0.1, 6.6, 4.5, ]]
tf.searchsorted(sorted_sequence, values).numpy()
array([[4, 1, 2],
[0, 5, 4]], dtype=int32)
注意:此操作假设sorted_sequence
已排序沿着最内轴,也许使用tf.sort(..., axis=-1)
.如果序列未排序,则不会引发错误并且返回的张量的内容没有很好的定义。
相关用法
- Python tf.sets.union用法及代码示例
- Python tf.sequence_mask用法及代码示例
- Python tf.sets.intersection用法及代码示例
- Python tf.sets.difference用法及代码示例
- Python tf.summary.scalar用法及代码示例
- Python tf.strings.substr用法及代码示例
- Python tf.strings.reduce_join用法及代码示例
- Python tf.sparse.cross用法及代码示例
- Python tf.sparse.mask用法及代码示例
- Python tf.strings.regex_full_match用法及代码示例
- Python tf.sparse.split用法及代码示例
- Python tf.strings.regex_replace用法及代码示例
- Python tf.signal.overlap_and_add用法及代码示例
- Python tf.strings.length用法及代码示例
- Python tf.strided_slice用法及代码示例
- Python tf.sparse.to_dense用法及代码示例
- Python tf.strings.bytes_split用法及代码示例
- Python tf.summary.text用法及代码示例
- Python tf.shape用法及代码示例
- Python tf.sparse.expand_dims用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.searchsorted。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。