tensorflow::ops::Substr
#include <string_ops.h>
Возвращает подстроки из Tensor строк.
Краткое описание
Для каждой строки в входном 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: Если первый аргумент нельзя преобразовать в Tensor типаdtype string. -
InvalidArgumentError: Если индексы выходят за пределы диапазона. -
ValueError: Еслиposиlenне имеют одинаковой формы.
Аргументы:
- scope: Объект Scope
- input: Tensor строк
- pos: Скаляр, определяющий позицию первого символа в каждой подстроке
- len: Скаляр, определяющий количество символов для включения в каждую подстроку
Дополнительные атрибуты (см. Attrs):
- unit: Единица измерения для создания подстроки. Одна из:
"BYTE"(для определения позиции и длины в байтах) или"UTF8_CHAR"(для кодовых точек Юникода в кодировке 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