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

时间:2017-11-30 11:16:04

标签: python tensorflow unicode

当我创建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'
我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

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

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