TensorFlow 如何用于不同字符串表示之间的转换?


编码的字符串标量可以使用“decode”方法转换为代码点向量。代码点向量可以使用“encode”方法转换为编码的字符串标量。“transcode”方法可以将编码的字符串标量转换为不同的编码。

阅读更多:什么是 TensorFlow,以及 Keras 如何与 TensorFlow 协作创建神经网络?

让我们了解如何使用 Python 表示 Unicode 字符串,以及如何使用 Unicode 等效项来操作它们。首先,我们借助标准字符串操作的 Unicode 等效项,基于脚本检测将 Unicode 字符串分成标记。

我们使用 Google Colaboratory 来运行以下代码。Google Colab 或 Colaboratory 帮助在浏览器上运行 Python 代码,无需任何配置,并可免费访问 GPU(图形处理单元)。Colaboratory 基于 Jupyter Notebook 构建。

print("Converting encoded string scalar to a vector of code points")
tf.strings.unicode_decode(text_utf8,input_encoding='UTF-8')
print("Converting vector of code points to an encoded string scalar")
tf.strings.unicode_encode(text_chars, output_encoding='UTF-8')
print("Converting encoded string scalar to a different encoding")
tf.strings.unicode_transcode(text_utf8, input_encoding='UTF8', output_encoding='UTF-16-BE')

代码来源:https://tensorflowcn.cn/tutorials/load_data/unicode

输出

Converting encoded string scalar to a vector of code points
Converting vector of code points to an encoded string scalar
Converting encoded string scalar to a different encoding
<tf.Tensor: shape=(), dtype=string, numpy=b'\x8b\xed\x8a\x00Y\x04t\x06'>

解释

  • 函数 'unicode_decode' 用于将编码的字符串标量转换为代码点向量。
  • 函数 'unicode_encode' 用于将代码点向量转换为编码的字符串标量。
  • 函数 'unicode_transcode' 用于将编码的字符串标量转换为不同的编码。

更新于:2021年2月19日

267 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告