当前位置:  开发笔记 > 编程语言 > 正文

如何在Tensorflow的图管道中解码Unicode字符串

如何解决《如何在Tensorflow的图管道中解码Unicode字符串》经验,为你挑选了0个好方法。

我创建了一个tfRecord文件来存储数据。我必须存储印地语文本,因此,我已使用string.encode('utf-8')将其保存在字节中。

但是,在读取数据时我陷入了困境。我正在使用Tensorflow数据集API读取数据。我知道我可以使用string.decode('utf-8')对其进行解码,但这不是我想要的。我想要一些解决方案,通过该解决方案,我只能将字节字符串解码回图内的Unicode字符串。

我曾尝试as_text,decoding_raw但是他们给的错误。

我的解析(地图)功能:

def _parse_function(tfrecord_serialized):
    features={'float': tf.FixedLenSequenceFeature([], 
    tf.float32,allow_missing=True),
         'byte': tf.FixedLenFeature([], tf.string),
          'int': tf.FixedLenSequenceFeature([], 
    tf.int64,allow_missing=True)}
    parsed_features = tf.parse_single_example(tfrecord_serialized, 
    features)
    return parsed_features['float'],parsed_features['byte'], parsed_features['int']`

我正在读取我的tfRecord文件,如下所示。

    filenames = ["data.tfrecord"] ## List of filename,Multiple filename can be provided together.
    dataset = tf.data.TFRecordDataset(filenames)
    dataset = dataset.map(_parse_function)
    iterator = dataset.make_initializable_iterator()`

    t1,t2,t3 = iterator.get_next()
    sess = tf.Session()
    sess.run(iterator.initializer)
    a,b,c = sess.run([t1,t2,t3])
    print(a,b,c)
    b.decode('utf-8')`

在b.decode上,我得到了很好的输出,出于明显的原因,我希望在图形内部进行此操作,从tf返回到python,然后再次返回通常不是一个好主意。

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有