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 должны иметь одинаковую форму, в противном случае при создании операции будет брошено 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 | 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.4/api_docs/python/tf/raw_ops/Substr