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 должны иметь одинаковую форму, иначе при создании 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/compat/v1/substr