Spec-Zone.ru › TensorFlow

tf.strings.substr

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

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

Используется в блокнотах

Используется в руководстве
  • tf.data: создание входных конвейеров TensorFlow
  • Разреженные тензоры
  • Строки Unicode

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

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

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

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

pos и len должны иметь одинаковую форму, иначе при создании Op возникает исключение 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: если первый аргумент нельзя преобразовать в Tensor типа dtype string.
  • InvalidArgumentError: если индексы выходят за допустимые пределы.
  • ValueError: если pos и len имеют разную форму.
Аргументы
input string типа Tensor. Tensor строк
pos Tensor. Допустимые типы: int32, int64. Скаляр, задающий позицию первого символа каждой подстроки
len Tensor. Должен иметь тот же тип, что и pos. Скаляр, задающий количество символов в каждой подстроке
unit Необязательный string из: "BYTE", "UTF8_CHAR". По умолчанию — "BYTE". Единица измерения, используемая для создания подстроки. Один из вариантов: "BYTE" (для задания позиции и длины в байтах) или "UTF8_CHAR" (для кодовых точек Unicode в кодировке UTF-8). По умолчанию используется "BYTE". Результаты не определены, если unit=UTF8_CHAR и строки input не содержат корректный структурно кодированный UTF-8.
name Имя операции (необязательно).
Возвращает
string типа Tensor.

© 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/strings/substr

Spec-Zone.ru

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