python - 标准 TensorFlow 格式的 Unicode

标签 python unicode tensorflow protocol-buffers

按照文档 here ,我正在尝试从 unicode 字符串创建功能。这是特征创建方法的样子,

def _bytes_feature(value):
    return tf.train.Feature(bytes_list=tf.train.BytesList(value=[value]))

这会引发异常,

  File "/home/rklopfer/.virtualenvs/tf/local/lib/python2.7/site-packages/google/protobuf/internal/python_message.py", line 512, in init
    copy.extend(field_value)
  File "/home/rklopfer/.virtualenvs/tf/local/lib/python2.7/site-packages/google/protobuf/internal/containers.py", line 275, in extend
    new_values = [self._type_checker.CheckValue(elem) for elem in elem_seq_iter]
  File "/home/rklopfer/.virtualenvs/tf/local/lib/python2.7/site-packages/google/protobuf/internal/type_checkers.py", line 108, in CheckValue
    raise TypeError(message)
TypeError: u'Gross' has type <type 'unicode'>, but expected one of: (<type 'str'>,)

当然,如果我将 value 包装在 str 中,它会在遇到第一个实际 unicode 字符时失败。

最佳答案

字节列表 definition在 feature.proto 中,它是 repeated bytes 类型,这意味着您需要向它传递一些可转换为字节序列列表的内容。

unicode 转换为字节列表的方法不止一种,因此存在歧义。您可以改为手动进行。 IE,要使用UTF-8编码

value.encode("utf-8")

关于python - 标准 TensorFlow 格式的 Unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38961547/

相关文章:

python - 更新 QGraphicsItem 的不透明度

java - 如何在 Java 中通过其 (unicode) 名称获取字符?我需要 Character.getName(int codePoint) 的反转

python - TensorArray 和 while_loop 如何在 tensorflow 中协同工作?

java - MySQL、Java 和 UTF8

python - tensorflow :How to generate differentiable mask

python - 如何在Tensorflow中正确设置Adadelta算法的参数?

python - linux cron作业使用python创建文件

python - Django 是否有现成的模块来格式化距离?

python - 绘制不同索引长度的两条线图,在没有数据的情况下断开连接

json - Ext.JSON.encode() 和 Chrome 的 JSON.stringify() 的不同 UTF-8 处理