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

如何使用tensorflow_dataset加载本地下载的CelebA数据集

手动导入CelebA数据集到tensorflow_datasets的解决方法
  • 第一步:核对原始文件名称
    你手动下载的CelebA数据集原始文件不能重命名,必须和tensorflow_datasets约定的文件名完全一致,核心文件包括img_align_celeba.zip、list_attr_celeba.txt、list_landmarks_align_celeba.txt、list_eval_partition.txt。如果你下载的是打包好的celeb_a压缩包,先把上述原始文件从压缩包中解压出来,不要修改文件名。
  • 第二步:调整目录结构
    在你指定的data_dir路径C:/Users/name下,创建二级目录downloads/manual,将所有核对好文件名的CelebA原始文件全部放入该目录,最终文件路径格式为C:/Users/name/downloads/manual/[所有CelebA原始文件]。
  • 第三步:执行本地构建加载
    不要直接调用tfds.load,先构建数据集实例执行本地格式转换,该过程只会读取本地文件不会触发线上下载,不会触发配额限制,参考代码如下:
import tensorflow_datasets as tfds

# 构造CelebA数据集实例,指定数据根目录
# 若使用4.x以上版本tfds,导入路径替换为tfds.datasets.celeb_a.CelebA
builder = tfds.image.CelebA(data_dir=r'C:\Users\name')
# 执行本地构建,仅读取manual目录下的原始文件做格式转换
builder.download_and_prepare(download_config=tfds.download.DownloadConfig(
    manual_dir=r'C:\Users\name\downloads\manual'
))
# 构建完成后加载对应拆分的数据集
ds = builder.as_dataset(split='train')

如果执行无报错,后续也可以直接用tfds.load("celeb_a", data_dir=r'C:\Users\name', split='train', download=False)加载已经构建好的数据集。

报错原因说明:之前的操作直接将压缩包放在data_dir根目录,不符合tfds约定的原始文件读取路径,因此会被判定为未找到本地数据,提示需要下载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 05:36:00