You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在TFDS中已返回file_path,加载数据集时如何获取该文件路径?

获取TFDS数据集样本对应的文件路径

你在_generate_examples中返回的file_path是作为**样本的唯一标识(key)**存在的,但TFDS默认加载时会丢弃这个key,只返回样本的特征字典。要获取这些文件路径,需要在加载时配置保留key,再遍历提取:

步骤1:加载数据集时开启保留key的配置

通过tfds.ReadConfig设置add_key=True,让TFDS返回包含key的样本元组:

import tensorflow_datasets as tfds

# 配置读取规则,保留样本的key(即你返回的file_path)
read_config = tfds.ReadConfig(add_key=True)
# 加载数据集并传入配置
data = tfds.load('dataset', read_config=read_config)

步骤2:遍历数据集提取文件路径

加载后的数据集每个元素是(key, example_dict)的元组,其中key就是你在_generate_examples中返回的file_path。由于TFDS会将字符串key转为tf.string类型的张量,需要解码为Python字符串:

# 假设数据集包含train拆分,根据实际拆分名称调整
train_dataset = data['train']

# 遍历打印所有文件路径
for key, sample in train_dataset:
    # 将张量转为Python字符串
    file_path = key.numpy().decode('utf-8')
    print(file_path)

简化处理:用tfds.as_numpy直接获取Python类型

如果不想手动处理张量解码,可以用tfds.as_numpy将数据集转为numpy类型的迭代器:

for key, sample in tfds.as_numpy(train_dataset):
    print(key.decode('utf-8'))

内容的提问来源于stack exchange,提问作者Ahmad Anis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 04:54:58