tf.raw_ops.Substr
Возвращает подстроки из Tensor строк.
tf.raw_ops.Substr(
input, pos, len, unit='BYTE', name=None
)
Для каждой строки во входном 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']
| Вызывает исключения | |
|---|---|
|
| Аргументы | |
|---|---|
input | Tensor типа string. Тензор строк |
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 | Имя операции (необязательно). |
| Возвращает | |
|---|---|
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/raw_ops/Substr