首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tensorflow编辑TFRecord

Tensorflow编辑TFRecord
EN

Stack Overflow用户
提问于 2019-11-14 12:42:31
回答 1查看 1.4K关注 0票数 1

问题:是否有一种附加现有TFRecord的方法?

注意: .TFRecord是由我自己的脚本创建的(不是我在网上找到的.tfrecord ),所以我完全控制了它的内容。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-14 17:21:05

不可能附加到现有的记录文件本身,或者至少不可能通过TensorFlow提供的函数。记录文件是由一个C++级别的PyRecordWriter编写的,在创建函数NewWriteableFile时,它会删除任何具有给定名称的现有文件来创建一个新的文件。但是,可以使用另一个记录的内容创建一个新的记录文件,然后再创建新的记录。

对于TensorFlow 1.x,您可以这样做:

代码语言:javascript
复制
import tensorflow as tf

def append_records_v1(in_file, new_records, out_file):
    with tf.io.TFRecordWriter(out_file) as writer:
        with tf.Graph().as_default(), tf.Session():
            ds = tf.data.TFRecordDataset([in_file])
            rec = ds.make_one_shot_iterator().get_next()
            while True:
                try:
                    writer.write(rec.eval())
                except tf.errors.OutOfRangeError: break
        for new_rec in new_records:
            writer.write(new_rec)

在TensorFlow 2.x (急切执行)中,您可以这样做:

代码语言:javascript
复制
import tensorflow as tf

def append_records_v2(in_file, new_records, out_file):
    with tf.io.TFRecordWriter(out_file) as writer:
        ds = tf.data.TFRecordDataset([in_file])
        for rec in ds:
            writer.write(rec.numpy())
        for new_rec in new_records:
            writer.write(new_rec)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58857079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档