Spec-Zone.ru › TensorFlow 2.9

tf.raw_ops.Substr

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

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

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

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.raw_ops.Substr

tf.raw_ops.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 A Tensor типа string. Тензор строк
pos A Tensor. Должен быть одного из следующих типов: int32, int64. Скаляр, определяющий позицию первого символа в каждой подстроке
len A Tensor. Должен иметь тот же тип, что и pos. Скаляр, определяющий количество символов для включения в каждую подстроку
unit Необязательный string из: "BYTE", "UTF8_CHAR". По умолчанию "BYTE". Единица измерения для создания подстроки. Одна из: "BYTE" (для определения позиции и длины в байтах) или "UTF8_CHAR" (для кодовых точек Юникода в кодировке UTF-8). По умолчанию "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/versions/r2.9/api_docs/python/tf/raw_ops/Substr

Spec-Zone.ru

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