深度学习基础之《TensorFlow框架(14)—TFRecords》

一、什么是TFRecords文件

1、TFRecords其实是一种二进制文件,虽然它不如其他格式好理解,但是它能更好的利用内存,更方便复制和移动,并且不需要单独的标签文件

2、使用步骤

(1)获取数据

(2)将数据填入到Example协议内存块(protocol buffer)

(3)将协议内存块序列化为字符串,并且通过tf.io.TFRecordWriter写入到TFRecords文件

3、文件格式*.tfrecords

二、Example结构解析

1、Example

python 复制代码
features {
	feature {
		key: "image"
		value {
			bytes_list {
				value: "\377\374\375\372\356\351\365\31\350\356\352\350"
			}
		}
	}
	feature {
		key: "lable"
		value {
			int64_list {
				value: 9
			}
		}
	}
}

特征值 - image - 3072字节

目标值 - label - 1个字节

说明:

(1)tf.train.Example

协议内存块(protocol buffer)(协议内存块包含了字段features)

(2)features

包含了feature字段

(3)feature

中包含要写入的数据、并指明数据类型

2、相关对象

tf.train.Example(features=None)

说明:

(1)写入tfrecords文件

(2)features:tf.train.Features类型的特征实例

(3)return:example格式协议块

tf.train.Features(feature=Nona)

说明:

(1)构建每个样本的信息键值对

(2)feature:字段数据,key为要保存的名字,value为tf.train.Feature实例

(3)return:Features实例

tf.train.Feature(options)

说明:

(1)options

bytes_list=tf.train.BytesList(value=[Bytes])

int64_list=tf.train.Int64List(value=[Value])

float_list=tf.train.FloatList(value=[Value])

(2)支持存入的类型如下

tf.train.BytesList(value=[Bytes])

tf.train.Int64List(value=[Value])

tf.train.FloatList(value=[Value])

3、一个样本的对象

python 复制代码
example = tf.train.Example(features=tf.train.Features(feature={"image":tf.train.Feature(bytes_list=tf.train.BytesList(value=[image])"label":tf.train.Feature(int64_list=tf.train.Int64List(value=[label])))}))

三、CIFAR-10数据存入TFRecords文件

四、读取TFRecords文件API

五、读取CIFAR的TFRecords文件

相关推荐
struggle20251 小时前
一个开源 GenBI AI 本地代理(确保本地数据安全),使数据驱动型团队能够与其数据进行互动,生成文本到 SQL、图表、电子表格、报告和 BI
人工智能·深度学习·目标检测·语言模型·自然语言处理·数据挖掘·集成学习
davenian4 小时前
DeepSeek-R1 论文. Reinforcement Learning 通过强化学习激励大型语言模型的推理能力
人工智能·深度学习·语言模型·deepseek
CM莫问4 小时前
什么是门控循环单元?
人工智能·pytorch·python·rnn·深度学习·算法·gru
kakaZhui8 小时前
【llm对话系统】大模型 Llama 源码分析之 LoRA 微调
pytorch·深度学习·chatgpt·aigc·llama
eso19838 小时前
深度学习模型在汽车自动驾驶领域的应用
深度学习·自动驾驶·汽车
梦云澜9 小时前
论文阅读(九):通过概率图模型建立连锁不平衡模型和进行关联研究:最新进展访问之旅
论文阅读·人工智能·深度学习
prince_zxill9 小时前
机器学习优化算法:从梯度下降到Adam及其变种
人工智能·深度学习
paradoxjun11 小时前
YOLOv8源码修改(4)- 实现YOLOv8模型剪枝(任意YOLO模型的简单剪枝)
深度学习·yolo·目标检测·剪枝
视觉语言导航11 小时前
构建具身智能体的时空宇宙!GRUtopia:畅想城市规模下通用机器人的生活图景
人工智能·深度学习·具身智能
白白糖1 天前
深度学习 Pytorch 神经网络的损失函数
人工智能·pytorch·深度学习·神经网络