тензорный поток :: ops :: UnicodeTranscode

#include <string_ops.h>

Перекодируйте входной текст из исходной кодировки в целевую.

Резюме

Входные данные - это строковый тензор любой формы. На выходе получается тензор строк той же формы, содержащий транскодированные строки. Выходные строки всегда допустимы в Юникоде. Если входные данные содержат недопустимые позиции кодировки, атрибут errors устанавливает политику того, как с ними бороться. Если используется политика обработки ошибок по умолчанию, недопустимое форматирование будет заменено в выводе на replacement_char . Если политика ошибок заключается в ignore , любые недопустимые позиции кодировки во входных данных пропускаются и не включаются в выходные. Если установлено strict то любое недопустимое форматирование приведет к ошибке InvalidArgument.

Эту операцию можно использовать с output_encoding = input_encoding чтобы обеспечить правильное форматирование для входных данных, даже если они уже находятся в желаемой кодировке.

Если входу предшествует метка порядка байтов, необходимая для определения кодировки (например, если кодировка - UTF-16, а в спецификации указан обратный порядок байтов), то эта спецификация будет использована, а не передана в выход. Если входная кодировка помечена явным порядком байтов (например, UTF-16-BE), то спецификация интерпретируется как неразрывный пробел и сохраняется в выходных данных (включая всегда для UTF-8).

Конечным результатом является то, что если вход помечен как явный порядок байтов, перекодирование соответствует всем кодовым точкам в источнике. Если он не отмечен явным порядком байтов, спецификация считается не частью самой строки, а метаданными, и поэтому не сохраняется в выходных данных.

Примеры:

tf.strings.unicode_transcode ([«Привет», «TensorFlow», «2.x»], «UTF-8», «UTF-16-BE») tf.strings.unicode_transcode (["A", "B", "C"], "US ASCII", "UTF-8"). numpy () array ([b'A ', b'B', b ' C '], dtype = объект)

Аргументы:

  • scope: объект Scope
  • input: текст для обработки. Может иметь любую форму.
  • input_encoding: текстовая кодировка входных строк. Это любая кодировка, поддерживаемая алгоритмическими преобразователями ICU ucnv. Примеры: "UTF-16", "US ASCII", "UTF-8" .
  • output_encoding: кодировка Unicode для использования в выводе. Должен быть одним из "UTF-8", "UTF-16-BE", "UTF-32-BE" . Многобайтовые кодировки будут с прямым порядком байтов.

Необязательные атрибуты (см. Attrs ):

  • ошибки: политика обработки ошибок при обнаружении недопустимого форматирования во входных данных. Значение 'strict' приведет к тому, что операция вызовет ошибку InvalidArgument при любом недопустимом форматировании ввода. Значение «заменить» (по умолчанию) приведет к тому , что операция замены любого недопустимое форматирование на входе с replacement_char элемент кода. Значение 'ignore' заставит операцию пропускать любое недопустимое форматирование во входных данных и не создавать соответствующий выходной символ.
  • replace_char: кодовая точка заменяющего символа, которая будет использоваться вместо любого недопустимого форматирования во входных данных, когда errors='replace' . Можно использовать любую допустимую кодовую точку Юникода. Значение по умолчанию - символ замены Unicode по умолчанию - 0xFFFD или U + 65533.)

Обратите внимание, что для UTF-8 передача символа замены, выражаемого 1 байтом, например '', сохранит выравнивание строки относительно источника, поскольку недопустимые байты будут заменены 1-байтовой заменой. Для UTF-16-BE и UTF-16-LE любой 1- или 2-байтовый символ замещения сохранит байтовое выравнивание по источнику.

  • replace_control_characters: следует ли заменить управляющие символы C0 (00-1F) с replacement_char . По умолчанию - false.

Возврат:

  • Output : строковый тензор, содержащий текст в output_encoding закодированный с использованием output_encoding .

Конструкторы и деструкторы

UnicodeTranscode (const :: tensorflow::Scope & scope, :: tensorflow::Input input, StringPiece input_encoding, StringPiece output_encoding)
UnicodeTranscode (const :: tensorflow::Scope & scope, :: tensorflow::Input input, StringPiece input_encoding, StringPiece output_encoding, const UnicodeTranscode::Attrs & attrs)

Публичные атрибуты

operation
output

Публичные функции

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

Публичные статические функции

Errors (StringPiece x)
ReplaceControlCharacters (bool x)
ReplacementChar (int64 x)

Структуры

tenorflow :: ops :: UnicodeTranscode :: Attrs

Необязательные установщики атрибутов для UnicodeTranscode .

Публичные атрибуты

операция

Operation operation

выход

::tensorflow::Output output

Публичные функции

UnicodeTranscode

 UnicodeTranscode(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  StringPiece input_encoding,
  StringPiece output_encoding
)

UnicodeTranscode

 UnicodeTranscode(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  StringPiece input_encoding,
  StringPiece output_encoding,
  const UnicodeTranscode::Attrs & attrs
)

узел

::tensorflow::Node * node() const 

оператор :: тензорный поток :: Ввод

 operator::tensorflow::Input() const 

оператор :: tenorflow :: Выход

 operator::tensorflow::Output() const 

Публичные статические функции

Ошибки

Attrs Errors(
  StringPiece x
)

ReplaceControlCharacters

Attrs ReplaceControlCharacters(
  bool x
)

ReplacementChar

Attrs ReplacementChar(
  int64 x
)