如何将序列化示例的数据集直接写入tfrecords文件?

时间:2019-10-22 06:54:59

标签: python tensorflow tensorflow-datasets tfrecord

我有一个tf.data.Dataset,其中包含序列化的tfrecord / protobuf示例:

>>> example = ds.make_one_shot_iterator().get_next()
>>> example
<tf.Tensor: id=42, shape=(), dtype=string, numpy=b'\n\xdd:\n\r\n\x01y\x12\x08\x12\x06\n\x...'>

因此,数据集ds中的每个示例只是一个平面字节字符串。

我想做的是将这些字节字符串写入磁盘(tfrecords文件)。我知道做到这一点的方法是通过python land。例如,使用tf1会话,它看起来像:

example = ds.make_one_shot_iterator().get_next()

with tf.io.TFRecordWriter("/path/to/output/data.tfrecords") as w:
    with tf.Session() as sess:
        w.write(sess.run(example))

这对我来说不是很有效。所以我的问题是:

  • 有没有一种方法可以将其写入文件而无需通过python层?

0 个答案:

没有答案