Spec-Zone.ru › TensorFlow 2.4

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.

© 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.3/api_docs/python/tf/compat/v1/substr

Spec-Zone.ru

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