Spec-Zone.ru › TensorFlow 2.9

tf.searchsorted

View source on GitHub

Ищет, куда вставить значение в отсортированную последовательность.

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

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

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

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' соответствует нижней границе, а 'right' — верхней границе.
out_type Тип выходных данных (int32 или int64). По умолчанию tf.int32.
name Необязательное имя операции.
Возвращаемое значение
N-мерный Tensor размера values, содержащий результат применения нижней или верхней границы (в зависимости от стороны) к каждому значению. Результат — не глобальный индекс всего 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/versions/r2.9/api_docs/python/tf/searchsorted

Spec-Zone.ru

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