有类型unicode,但期望之一:bytes tf.train.example

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有类型unicode,但期望之一:bytes tf.train.example相关的知识,希望对你有一定的参考价值。

当我创建tfrecords文件时,如果写入unicode字符串,则会出现错误:TypeError:u' u634f'具有类型unicode但预期之一:bytes

writer = tf.python_io.TFRecordWriter(tfrecords_output_filename) text=u'地离开对方' example = tf.train.Example(features=tf.train.Features(feature={'text':_bytes_feature([text])})) writer.write(example.SerializeToString()) writer.close()

但是英文和数字形式都很好:text ='abcd123' 我该如何解决这个问题?

答案

您必须使用utf-8而不是unicode对文本进行编码,以使其与字节兼容:

text=u'地离开对方'
text = text.encode("utf8")
example = tf.train.Example(features=tf.train.Features(feature={'text':_bytes_feature([text])}))

以上是关于有类型unicode,但期望之一:bytes tf.train.example的主要内容,如果未能解决你的问题,请参考以下文章

Python bytes与str

Python bytes与str

区分 bytes str 和 unicode

了解python中bytes,str和unicode的区别

byte和int,char类型有啥区别

Python 3中的str和bytes类型