Spec-Zone.ru › TensorFlow

tf.searchsorted

Ищет, куда значение должно быть помещено в отсортированной последовательности.

Просмотр псевдонимов

Псевдонимы совместимости для миграции

Дополнительные сведения см. в руководстве по миграции.

tf.compat.v1.searchsorted

tf.searchsorted(
    sorted_sequence,
    values,
    side='left',
    out_type=tf.dtypes.int32,
    name=None
)

Это не метод проверки включения (как в python in).

Типичный случай использования этой операции — "разбиение на бины", "разбиение на корзины" или "дискретизация". Значения values присваиваются индексам корзины на основе границ, перечисленных в sorted_sequence. Эта операция возвращает индекс корзины для каждого значения.

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). Если последовательность не отсортирована, ошибка не генерируется, и содержимое возвращаемого тензора не определено однозначно.
Аргументы
sorted_sequence N-мерный Tensor, содержащий отсортированную последовательность.
values N-мерный Tensor, содержащий искомые значения.
side 'left' или 'right'; 'left' соответствует lower_bound, а 'right' — upper_bound.
out_type Тип выходных данных (int32 или int64). По умолчанию tf.int32.
name Необязательное имя для операции.
Возвращаемое значение
N-мерный Tensor размера values, содержащий результат применения either lower_bound или upper_bound (в зависимости от side) к каждому значению. Результат — не глобальный индекс для всего Tensor, а индекс в последнем измерении.
Исключения
ValueError Если последнее измерение sorted_sequence >= 2^31-1 элементов. Если общий размер values превышает 2^31 - 1 элементов. Если первые N-1 измерения двух тензоров не совпадают.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/searchsorted

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API