You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TensorFlow构建俄语文本数据集后打印仅显示字节码问题咨询

问题原因

TensorFlow的tf.string类型张量底层存储的是UTF-8编码的字节序列,打印时默认直接输出原始bytes格式:

  • 英文字符完全落在ASCII编码范围内,字节序列直接展示也可读
  • 俄语文本使用西里尔字符,属于UTF-8多字节编码,不在ASCII范围内,因此打印时会输出\xd0\xa2这类字节码,属于显示逻辑问题,数据本身的编码存储是正确的,不影响后续训练、向量化等处理流程。
解决方案

如果需要正常查看俄语文本内容,只需在打印时做转码处理即可,最简单的实现方式如下:

for example_input_batch, example_target_batch in dataset.take(1):
  # 俄语批次转UTF-8编码后打印
  print([text.decode('utf-8') for text in example_input_batch[:5].numpy()])
  print()
  # 英文批次可直接打印,也可按同样逻辑转码
  print(example_target_batch[:5])
  break

如果需要对整个数据集做统一转码处理,可在数据集构造时增加映射操作:

def trans_coding(inp, targ):
    inp = tf.strings.unicode_decode(inp, input_encoding='UTF-8')
    # 若后续需要转回字符串格式,可搭配tf.strings.unicode_encode使用
    return inp, targ

dataset = dataset.map(trans_coding)

内容的提问来源于stack exchange,提问作者Aslan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 02:54:00