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

本地CPU运行TensorFlow加载cats_vs_dogs数据集报错求助

解决TensorFlow加载cats_vs_dogs数据集时的KeyError问题

问题原因

手动修改tfds.image_classification.cats_vs_dogs._URL指向的微软压缩包,其内部文件结构或完整性与TensorFlow Datasets(tfds)预期不匹配,导致加载时找不到指定文件。

解决步骤

步骤1:清理已损坏的缓存数据

  • 找到tfds默认缓存目录:Windows系统下一般为C:\Users\<你的用户名>\tensorflow_datasets\cats_vs_dogs
  • 删除该目录下所有文件(包括下载的压缩包和解压内容),避免残留损坏数据干扰重新加载。

步骤2:使用官方默认加载逻辑

移除手动修改_URL的代码,让tfds自动处理数据集的下载、校验和加载,这是最稳妥的方式。修改后的代码如下:

import tensorflow as tf
import tensorflow_datasets as tfds
import os

os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

# 直接调用tfds.load,无需手动指定URL
datos, metadatos = tfds.load('cats_vs_dogs', as_supervised=True, with_info=True)

步骤3:手动下载并指定数据集路径(若步骤2无效)

  • 从官方数据源下载cats_vs_dogs数据集压缩包
  • 将压缩包解压到本地任意目录(例如C:\datasets\cats_vs_dogs)
  • 调用tfds.load时通过data_dir参数指定解压后的目录:
import tensorflow as tf
import tensorflow_datasets as tfds
import os

os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

datos, metadatos = tfds.load(
    'cats_vs_dogs',
    as_supervised=True,
    with_info=True,
    data_dir='C:/datasets/cats_vs_dogs'
)

步骤4:验证文件结构完整性

解压后检查目录结构,确保存在PetImages/Cat/0.jpg和PetImages/Dog/下的对应文件。若某文件缺失,重新下载压缩包或手动补全缺失文件。


内容的提问来源于stack exchange,提问作者José Timaure

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 02:22:12