如何使用 Tensorflow 和 Python 编码多个长度相同的字符串?
pythonserver side programmingprogrammingtensorflow
可以使用 ‘tf.Tensor’ 作为输入值来编码多个长度相同的字符串。当需要编码多个长度不等的字符串时,应使用 tf.RaggedTensor 作为输入。如果张量包含多个填充/稀疏格式的字符串,则需要将其转换为 tf.RaggedTensor。然后,应该对其调用方法 unicode_encode。
阅读更多: 什么是 TensorFlow,以及 Keras 如何与 TensorFlow 配合使用来创建神经网络?
让我们了解如何使用 Python 表示 Unicode 字符串,并使用 Unicode 等效项来操作这些字符串。首先,我们在标准字符串操作的 Unicode 等效项的帮助下,根据脚本检测将 Unicode 字符串分离为标记。
我们正在使用 Google Colaboratory 来运行以下代码。 Google Colab 或 Colaboratory 有助于通过浏览器运行 Python 代码,并且不需要零配置并可以自由访问 GPU(图形处理单元)。 Colaboratory 是在 Jupyter Notebook 上构建的。
print("当对多个长度相同的字符串进行编码时,使用 tf.Tensor 作为输入") tf.strings.unicode_encode([[99, 97, 116], [100, 111, 103], [ 99, 111, 119]],output_encoding='UTF-8') print("当对多个长度不同的字符串进行编码时,应使用 tf.RaggedTensor 作为输入:") tf.strings.unicode_encode(batch_chars_ragged, output_encoding='UTF-8') print("如果存在包含多个填充/稀疏格式字符串的张量,则将其转换为tf.RaggedTensor 在调用 unicode_encode") tf.strings.unicode_encode( tf.RaggedTensor.from_sparse(batch_chars_sparse), output_encoding='UTF-8') tf.strings.unicode_encode( tf.RaggedTensor.from_tensor(batch_chars_padded, padding=-1), output_encoding='UTF-8')
代码来源:https://www.tensorflow.org/tutorials/load_data/unicode
输出
当对多个长度相同的字符串进行编码时,使用 tf.Tensor 作为输入 当对长度不同的多个字符串进行编码时,应使用 tf.RaggedTensor 作为输入: 如果存在具有多个填充/稀疏格式的字符串的张量,则在调用 unicode_encode 之前将其转换为 tf.RaggedTensor
解释
- 当对长度相同的多个字符串进行编码时,可以使用 tf.Tensor 作为输入。
- 当对长度不同的多个字符串进行编码时,可以使用 tf.RaggedTensor 作为输入。
- 当存在具有多个填充/稀疏格式的字符串的张量时,需要将其转换为 tf.RaggedTensor,然后对其调用 unicode_encode。