Spec-Zone.ru › TensorFlow 2.4

tf.strings.substr

Просмотреть исходный код на GitHub

Возвращает подстроки из Tensor.

tf.strings.substr(
    input, pos, len, unit='BYTE', name=None
)

Для каждой строки в входном Tensor, создаёт подстроку, начинающуюся с индекса pos и имеющую общую длину len.

Если len определяет подстроку, которая выходит за пределы длины входной строки, или если len отрицательно, то используется максимальное возможное количество символов.

Отрицательный pos указывает на расстояние внутри строки назад от конца.

Если pos указывает индекс, который находится вне диапазона для любой из входных строк, то выбрасывается InvalidArgumentError.

pos и len должны иметь одинаковую форму, в противном случае при создании операции выбрасывается ValueError.

Примечание: Substr поддерживает вещание до двух измерений. Подробнее о вещании здесь

Примеры

Использование скалярного pos и len:

input = [b'Hello', b'World']
position = 1
length = 3

output = [b'ell', b'orl']

Использование pos и len с такой же формой, как input:

input = [[b'ten', b'eleven', b'twelve'],
         [b'thirteen', b'fourteen', b'fifteen'],
         [b'sixteen', b'seventeen', b'eighteen']]
position = [[1, 2, 3],
            [1, 2, 3],
            [1, 2, 3]]
length =   [[2, 3, 4],
            [4, 3, 2],
            [5, 5, 5]]

output = [[b'en', b'eve', b'lve'],
          [b'hirt', b'urt', b'te'],
          [b'ixtee', b'vente', b'hteen']]

Вещание pos и len на input:

input = [[b'ten', b'eleven', b'twelve'],
         [b'thirteen', b'fourteen', b'fifteen'],
         [b'sixteen', b'seventeen', b'eighteen'],
         [b'nineteen', b'twenty', b'twentyone']]
position = [1, 2, 3]
length =   [1, 2, 3]

output = [[b'e', b'ev', b'lve'],
          [b'h', b'ur', b'tee'],
          [b'i', b've', b'hte'],
          [b'i', b'en', b'nty']]

Вещание input на pos и len:

input = b'thirteen'
position = [1, 5, 7]
length =   [3, 2, 1]

output = [b'hir', b'ee', b'n']
Возможные исключения
  • ValueError: Если первый аргумент нельзя преобразовать в тензор типа dtype string.
  • InvalidArgumentError: Если индексы выходят за пределы диапазона.
  • ValueError: Если pos и len имеют разные формы.
Аргументы
input Массив Tensor типа string. Тензор строк
pos Скаляр. Должен быть одного из следующих типов: int32, int64. Скаляр, определяющий позицию первого символа в каждой подстроке
len Скаляр. Должен иметь тот же тип, что и pos. Скаляр, определяющий количество символов для включения в каждую подстроку
unit Необязательный параметр string из: "BYTE", "UTF8_CHAR". По умолчанию "BYTE". Единица, используемая для создания подстроки. Один из: "BYTE" (для определения позиции и длины байтами) или "UTF8_CHAR" (для UTF-8 закодированных кодовых точек Unicode). По умолчанию "BYTE". Результаты не определены, если unit=UTF8_CHAR и input строки не содержат структурно допустимого UTF-8.
name Имя операции (необязательно).
Возвращает
Массив Tensor типа string.

© 2020 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/versions/r2.4/api_docs/python/tf/strings/substr

Spec-Zone.ru

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