tensorflow::ops::Substr
#include <string_ops.h>
Возвращает подстроки из Tensor строк.
Сводка
Для каждой строки во входном Tensor создает подстроку, начинающуюся с индекса pos и имеющую общую длину len.
Если len задает подстроку, выходящую за пределы длины входной строки, или если len отрицательно, используются все возможные символы.
Отрицательное значение pos указывает расстояние в обратном направлении от конца строки.
Если pos задает индекс, выходящий за допустимые пределы для любой из входных строк, возникает исключение InvalidArgumentError.
pos и len должны иметь одинаковую форму, иначе при создании Op возникает исключение ValueError.
ПРИМЕЧАНИЕ: Substr поддерживает broadcasting размерностью до двух. Подробнее о broadcasting — здесь
Примеры
Использование скалярных 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']]Broadcasting 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']]Broadcasting input на pos и len:
input = b'thirteen' position = [1, 5, 7] length = [3, 2, 1]
output = [b'hir', b'ee', b'n']
Вызывает исключения:
-
ValueError: Если первый аргумент нельзя преобразовать в Tensor типаdtype string. -
InvalidArgumentError: Если индексы выходят за допустимые пределы. -
ValueError: Еслиposиlenимеют разную форму.
Аргументы:
- scope: объект Scope
- input: Tensor со строками
- pos: скаляр, задающий позицию первого символа в каждой подстроке
- len: скаляр, задающий количество символов, включаемых в каждую подстроку
Необязательные атрибуты (см. Attrs):
- unit: единица измерения, используемая для создания подстроки. Один из вариантов:
"BYTE"(для задания позиции и длины в байтах) или"UTF8_CHAR"(для кодовых точек Unicode в кодировке UTF-8). По умолчанию используется"BYTE". Результаты не определены, еслиunit=UTF8_CHAR, а строкиinputне содержат структурно корректный UTF-8.
Возвращает:
| Конструкторы и деструкторы | |
|---|---|
Substr(const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input pos, ::tensorflow::Input len) | |
Substr(const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input pos, ::tensorflow::Input len, const Substr::Attrs & attrs) |
| Публичные атрибуты | |
|---|---|
operation | |
output | |
| Публичные функции | |
|---|---|
node() const | ::tensorflow::Node * |
operator::tensorflow::Input() const | |
operator::tensorflow::Output() const | |
| Публичные статические функции | |
|---|---|
Unit(StringPiece x) | |
| Структуры | |
|---|---|
| tensorflow::ops::Substr::Attrs | Методы настройки необязательных атрибутов для Substr. |
Публичные атрибуты
operation
Operation operation
output
::tensorflow::Output output
Публичные функции
Substr
Substr( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input pos, ::tensorflow::Input len )
Substr
Substr( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input pos, ::tensorflow::Input len, const Substr::Attrs & attrs )
node
::tensorflow::Node * node() const
operator::tensorflow::Input
operator::tensorflow::Input() const
operator::tensorflow::Output
operator::tensorflow::Output() const
Публичные статические функции
Unit
Attrs Unit( StringPiece x )
© 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/cc/class/tensorflow/ops/substr