首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将列表写入和读取到TFRecord示例

TFRecord是一种用于存储大规模数据集的二进制文件格式。它是TensorFlow中常用的数据存储格式,具有高效的读写速度和压缩率。TFRecord文件由一系列的记录(Record)组成,每个记录包含了一个或多个特征(Feature)。特征可以是张量(Tensor)或序列(Sequence),可以存储各种类型的数据。

下面是一个将列表写入和读取到TFRecord的示例:

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

# 定义写入TFRecord的函数
def write_to_tfrecord(data_list, filename):
    writer = tf.io.TFRecordWriter(filename)
    for data in data_list:
        feature = {
            'data': tf.train.Feature(int64_list=tf.train.Int64List(value=data))
        }
        example = tf.train.Example(features=tf.train.Features(feature=feature))
        writer.write(example.SerializeToString())
    writer.close()

# 定义从TFRecord读取数据的函数
def read_from_tfrecord(filename):
    dataset = tf.data.TFRecordDataset(filename)
    feature_description = {
        'data': tf.io.FixedLenFeature([3], tf.int64)
    }
    def _parse_function(example_proto):
        return tf.io.parse_single_example(example_proto, feature_description)
    parsed_dataset = dataset.map(_parse_function)
    for data in parsed_dataset:
        print(data['data'].numpy())

# 示例数据
data_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
filename = 'data.tfrecord'

# 写入TFRecord文件
write_to_tfrecord(data_list, filename)

# 从TFRecord文件读取数据
read_from_tfrecord(filename)

在上述示例中,我们首先定义了一个write_to_tfrecord函数,用于将列表数据写入TFRecord文件。每个数据列表被转换为一个特征,特征名为data,类型为int64_list。然后,我们将特征组合成一个Example对象,并将其序列化为字符串后写入TFRecord文件。

接下来,我们定义了一个read_from_tfrecord函数,用于从TFRecord文件中读取数据。首先,我们使用TFRecordDataset读取TFRecord文件,然后定义了特征的描述信息feature_description,其中data特征的形状为[3],类型为int64。接着,我们定义了一个解析函数_parse_function,用于解析每个记录的特征。最后,我们使用map函数将解析函数应用到数据集上,并通过迭代打印出每个数据的值。

这个示例展示了如何将列表数据写入和读取到TFRecord文件中。TFRecord在机器学习和深度学习任务中广泛应用,可以高效地存储和读取大规模数据集。在TensorFlow中,还有其他一些用于数据存储和读取的工具和函数,如tf.data.Datasettf.data.experimental.CsvDataset等,可以根据具体需求选择合适的方法。

推荐的腾讯云相关产品:腾讯云对象存储(COS),用于存储和管理大规模数据集。产品介绍链接地址:https://cloud.tencent.com/product/cos

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

风格迁移

cs20是一门对于深度学习研究者学习Tensorflow的课程,今天学习第八节,非常有收获,并且陆续内容写入jupytebook notebook中,有关这个源代码及仓库地址,大家可以点击阅读原文或者直接复制下面链接...因为它是二进制格式,所以它也可以处理其他类型的数据(图像标签可以放在一起)。 让我们看看如何图像标签保存为TFRecord文件。...转换为TFRecord格式 第一步:创建一个写入TFRecord文件的编写器 import tensorflow as tf writer = tf.python_io.TFRecordWriter(out_file...sample = tf.train.Example(features=features) 第五步:示例写入tfrecord文件 writer.write(sample.SerializeToString...def _bytes_feature(value): return tf.train.Feature(bytes_list=tf.train.BytesList(value=[value])) TFRecord

1.5K10
  • 【Tensorflow】你可能无法回避的 TFRecord 文件格式详细讲解

    也有助于降低学习成本迁移成本。 TFRecord 怎么用? TFRecord 是一种文件格式,那么对于 TFRecord 文件的 IO 怎么处理呢?...example 序列化成 string 类型,然后写入。...TFRecord 文件的读取 上一节是讲如何一张图片的信息写入到一个 tfrecord 文件当中。 现在,我们需要检验它是否正确,这就需要用到如何读取 TFRecord 文件的知识点了。...并且 TFRecord 中的图片数据也成功地保存到本地了。 一些疑问 Q:我的示例为什么用 Dataset 而不用大多数博文中的 QueueRunner 呢?...Q:学习了 TFRecord 相关知识,下一步学习什么? A:可以尝试常见的数据集如 MNIST CIFAR-10 转换成 TFRecord 格式。

    2.7K40

    TFRecord输入数据格式

    tf.train.Example中包含了一个从属性名称到取值的字典。...其中属性名称为一个字符串,属性的取值可以为字符串(BYteList)、实数列表(FloarList)或者整数列表(Int64LIst)。...比如一张解码前的图像存为一个字符串,图像所对应的类别编号为整数列表。2.TFRecord样例程序以下程序给出了如何MNIST输入数据转化为TFRecord的格式。...Example写入TFRecord文件 writer.write(example.SerializeToString( ))write.close( )以上程序可以MNIST数据集中所有的训练数据存储到一个...当数据量较大时,也可以数据写入多个TFREcord文件。tensorflow对从文件列表中读取数据提供了很好的支持,以下程序给出了如何读取TFRecord文件中的数据。

    93530

    深度学习与神经网络:制作数据集,完成应用(1)

    数据保存为tfrecords文件可以视为这样一个流程: 提取features -> 保存为Example结构对象 -> TFRecordWriter写入文件 而如果我们要存储训练数据的时候,我们会使用...而这个队列,我们在get_tfrecord中使用到: 具体的参数,在此说明下: tf.train.string_input_producer( string_tensor, #存储图像标签信息的 TFRecord...这个操作是把读出的样本在serialized_example中进行解析,标签图片的键名应该制作 tfrecords 的键名相同.该函数可以 tf.train.Example 协议内存块(protocol...return image,label #返回图片标签(跳回到 get_tfrecord) 回到get_tfrecord中: tf.train.shuffle_batch(),随机读取一个batch的数据...这个函数值得说说,完整的格式如下: tf.train.shuffle_batch( tensors, #待乱序处理的列表中的样本(图像标签) batch_size, #从队列中提取的新批量大小 capacity

    90740

    基于tensorflow的图像处理(一)TFRecord输入数据格式

    tf.train.Example中包含了一个从属性名称到取值的字典。...其中属性名称为一个字符串,属性的取值可以为字符串(ByteList)、实数列表(FloatList)或者整数列表(Int64List)。...比如一张解码前的图像存为一个字符串,图像所对应的类别编号为整数列表。以下程序给出了如何MNIST输入数据转化为TFRecord的格式。...Example写入TFRecord文件 writer.write(example.SerializeToString())write.close()以上程序可以MNIST数据集中所有的训练数据存储到一个...当数据量较大时,也可以数据写入多个TFRecord文件。Tensorflow对从文件列表中读取数据提供了很好的支持,以下程序给出了如何读取TFRecord文件中的数据。

    1.8K30

    深度学习与神经网络:制作数据集,完成应用(1)

    数据保存为tfrecords文件可以视为这样一个流程: 提取features -> 保存为Example结构对象 -> TFRecordWriter写入文件 而如果我们要存储训练数据的时候,我们会使用...而这个队列,我们在get_tfrecord中使用到: 具体的参数,在此说明下: tf.train.string_input_producer( string_tensor, #存储图像标签信息的 TFRecord...#新建一个 reader 这个操作是把读出的样本在serialized_example中进行解析,标签图片的键名应该制作 tfrecords 的键名相同.该函数可以 tf.train.Example...return image,label #返回图片标签(跳回到 get_tfrecord) 回到get_tfrecord中: tf.train.shuffle_batch(),随机读取一个batch...的数据 这个函数值得说说,完整的格式如下: tf.train.shuffle_batch( tensors, #待乱序处理的列表中的样本(图像标签) batch_size, #从队列中提取的新批量大小

    3.3K60

    TensorFlow读写数据

    一、入门对数据集的数据进行写 首先,我们来体验一下怎么造一个TFRecord文件,怎么从TFRecord文件中读取数据,遍历(消费)这些数据。...数据系列化为字符串 example_str = example.SerializeToString() # 系列化为字符串的example数据写入协议缓冲区...,其实就是分了几步: 生成TFRecord Writer tf.train.Feature生成协议信息 使用tf.train.Examplefeatures编码数据封装成特定的PB协议格式 example...数据系列化为字符串 系列化为字符串的example数据写入协议缓冲区 参考资料: https://zhuanlan.zhihu.com/p/31992460 ok,现在我们就有了一个TFRecord文件啦...1.2 读取TFRecord文件 其实就是通过tf.data.TFRecordDataset这个api来读取到TFRecord文件,生成处dataset对象 对dataset进行处理(shape处理,格式处理

    98620

    利用TFRecords存储于读取带标签的图片

    写入到TFRecords文件。...我们使用tf.train.Example来定义我们要填入的数据格式,然后使用tf.python_io.TFRecordWriter来写入。...images/chapter-05-object-recognition-and-classification/working-with-images/test-input-image.jpg" # 获得文件名列表...上面序列化的样本现在被保存为一种可被加载的格式,并可被反序列化为这里的样本格式 由于图像被保存为TFRecord文件,可以被再次从TFRecord文件加载.这样比图像及其标签分开加载会节省一些时间...如果一个示例缺少属性值,那么将使用该默认值。它必须与dtype指定的形状兼容。 """ # 但是在实际使用的过程中这里的features的是根据原先的保存时的名字对应的,而数据类型可以自行选取.

    1.2K10

    生成pdf有的内容显示不出来_为什么ug程序生成导轨不显示

    ##TFRecord##   TensorFlow提供了TFRecord的格式来统一存储数据,TFRecord格式是一种图像数据标签放在一起的二进制文件,能更好的利用内存,在tensorflow中快速的复制...写入到TFRecords文件。...TFRecord中需要包含图像的widthheight这两个信息,这样在解析图片的时候,我们才能把二进制的数据重新reshape成图片; 2.TensorFlow官方的建议是一个TFRecord中最好图片的数量为...to Image## 在上面我们打包了四个TFRecord文件,下面我们把这些数据读取并显示出来,看看制作的效果,这个过程很大一部分是TensorFlow组织batch是一样的了。...获取文件名列表 data_files = tf.gfile.Glob(data_path) print(data_files) # 文件名列表生成器 filename_queue = tf.train.string_input_producer

    85020

    Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取

    slice_input_producer() 中的第一个参数需要放在一个列表中,列表中的每个元素可以是 List 或 Tensor,如 [images,labels],   !!!...f.write(image_data) coord.request_stop() coord.join(threads) 二、(随机)批量数据读取方式:   功能:shuffle_batch() ...文件打包与读取 TFRecord文件打包案列 def write_TFRecord(filename, data, labels, is_shuffler=True): """ 数据打包成TFRecord...__len__())] if is_shuffler: np.random.shuffle(index) # 创建写入器,然后使用该对象写入样本example writer = tf.python_io.TFRecordWriter..., # 此时的data已经是bytes类型 "label": tf.train.Feature( int_list=tf.train.IntList( value=[im_l])), } ) ) # 写入序列化之后的样本

    3.1K10

    TensorFlow TFRecord数据集的生成与显示

    TensorFlow提供了TFRecord的格式来统一存储数据,TFRecord格式是一种图像数据标签放在一起的二进制文件,能更好的利用内存,在tensorflow中快速的复制,移动,读取,存储 等等...写入到TFRecords文件。...一个TFRecord文件中存放的图片个数最多为1200个,如果超过了就会写入第二个TFRecord文件中: import os import tensorflow as tf from PIL import...单个TFRecord类型数据集显示为图片 上面提到了,TFRecord类型是一个包含了图片数据标签的合集,那么当我们生成了一个TFRecord文件后如何查看图片数据标签是否匹配?...2.如果TFRecord文件不止一个时,也会用到tf.train.match_filenames_once函数来获取符合一定规则的文件列表

    6.7K145

    Tensorflow使用TFRecordstf.Example

    the images 2、Write the TFRecord file 3、Read the TFRecord file ---- 为了有效地读取数据,数据序列化并将其存储在一组文件(每个文件100...本笔记本演示如何创建、解析使用tf。示例消息,然后序列化、写入读取tf。与.tfrecord文件之间的示例消息。 注意:虽然有用,但这些结构是可选的。...消息示例。当对其进行迭代时,返回这些标量字符串张量。使用.take方法只显示前10条记录。 注意:遍历tf.data.Dataset只在启用紧急执行时工作。...示例字段转换为标准张量。 5、TFRecord files in Python tf.io模块还包含用于读取写入TFRecord文件的纯python函数。...1、Writing a TFRecord file 接下来,10,000个观察结果写入test.tfrecord文件。每次观测都转换为tf。示例消息,然后写入文件。然后可以验证文件测试。

    83110

    YJango:TensorFlow中层API Datasets+TFRecord的数据导入

    目录 优势 Dataset API TFRecord 概念 数据说明 数据存储 常用存储 TFRecord存储 实现 生成数据 写入TFRecord file 存储类型 如何存储张量feature 使用...使用TFRecord就是为了提速节约空间的。 ---- 概念 在进行代码功能讲解之前,先明确一下想要存储读取的数据是什么样子(老手跳过)。 一、数据说明: 假设要学习判断个人收入的模型。...TFRecord存储: TFRecord是以字典的方式一次写一个样本,字典的keys可以不以输入标签,而以不同的特征(如学历,年龄,职业,收入)区分,在随后的读取中再选择哪些特征形成输入,哪些形成标签...创建样本写入字典 这里准备一个样本一个样本的写入TFRecord file中。 先把每个样本中所有feature的信息值存到字典中,key为feature名,value为feature值。...两种方式: 转成list类型:张量fatten成list(也就是向量),再用写入list的方式写入

    3.8K230

    编写基于TensorFlow的应用之构建数据pipeline

    TFRecord文件简介 TFRecord文件是基于Google Protocol Buffers的一种保存数据的格式,我们推荐在数据预处理过程中尽可能使用这种方式训练数据保存成这种格式。...,如果是图片等raw data,则直接读取其二进制编码内容,再转换成BytesList即可 2、多个特征合并为 tf.train.Features,并传递到tf.train.Example中 3、最后使用...TFRecordWriter写入到文件中 对于MNIST文件,从http://yann.lecun.com/exdb/mnist/网站下载下来的是以二进制方式存储的数据集,本文略过下载并读取MNIST...分别是用来图片标签转换成二进制的featureint列表的特征的函数 def int_feature(value): return tf.train.Feature(int64_list=tf.train.Int64List...buffer中的内容序列化之后, 将其内容写入到文件中 至此,MNIST的tfrecord文件就制作完成了。

    1.1K20
    领券