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 )
© 2020 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/versions/r2.4/api_docs/cc/class/tensorflow/ops/substr