Spec-Zone.ru › TensorFlow

tf.compat.v1.substr

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

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

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

© 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/compat/v1/substr

Spec-Zone.ru

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