TFRecord 格式
TFRecord进阶TensorFlow 的二进制文件格式,把一条条序列化记录顺序拼接存放。
TFRecord 是 TensorFlow 的数据存储格式:一个文件由一条条二进制记录首尾相连组成,每条带长度和 CRC 校验,内容通常是用 protobuf(谷歌的序列化协议)编码的 tf.train.Example,即「字段名 → 数值列表」的字典。它适合大批量顺序读取,官方建议切成多个分片、每个最好 100MB 以上,便于并行读取。缺点是只能顺序扫描,不便按下标随机取某一条,解析也依赖 TensorFlow。TFDS 默认用它存数据,所以 RLDS 和 Open X-Embodiment 数据集下载下来是一批 TFRecord 分片;PyTorch 生态的新数据集多改用 Parquet 加视频、HDF5 或 Zarr。
例子一个 RLDS 数据集目录里通常是 dataset_info.json、features.json,加上形如 xxx-train.tfrecord-00000-of-01024 的分片文件,其中每条记录存一个完整 episode。
- 也叫
- .tfrecord、tf.train.Example
- 相关
- TFDS(TensorFlow Datasets)、RLDS 格式、Protobuf、Parquet 格式、HDF5 格式、WebDataset 格式
- 来源
- TensorFlow Tutorial: TFRecord and tf.train.Example
TensorFlow Datasets Overview