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

Python图像导入异常:猫狗数据集在Google Colab中无法识别

排查猫狗图像数据集在Colab中识别失败的问题

问题根源:文件路径错误

你的遍历脚本中,listdir指向的是狗图像的实际目录/content/dogcatdata/train/dogcatdata/train/dog,但打开图像时使用的是./(当前工作目录),导致PIL无法找到真实的图像文件,进而误判所有文件损坏。

修正后的验证脚本

修改路径拼接逻辑,使用完整路径打开文件,同时增加额外验证步骤:

import os
from PIL import Image
from google.colab import drive
import zipfile

drive.mount('/content/drive')

# 解压数据集
extract_dir = 'dogcatdata/train'
zip_ref = zipfile.ZipFile("/content/drive/MyDrive/test/dogcatdata.zip", 'r')
zip_ref.extractall(extract_dir)
zip_ref.close()

# 验证压缩包完整性(可选)
bad_zip_files = zip_ref.testzip()
if bad_zip_files:
    print(f"压缩包内损坏文件:{bad_zip_files}")
else:
    print("压缩包校验完整")

count = 0
dog_dir = '/content/dogcatdata/train/dogcatdata/train/dog'
# 遍历目标目录,使用完整路径打开图像
for filename in os.listdir(dog_dir):
    file_path = os.path.join(dog_dir, filename)
    try:
        with Image.open(file_path) as img:
            img.verify()  # 验证文件格式
            img = Image.open(file_path)  # 重新打开读取内容
            img.load()
    except (IOError, SyntaxError, Image.UnidentifiedImageError) as e:
        count += 1
        print(f"损坏文件:{filename},错误信息:{str(e)}")

print(f"\n总计损坏文件数量:{count}")

额外排查建议

  • 确认解压目录结构:执行!ls -l /content/dogcatdata/train/dogcatdata/train/dog查看目录下是否存在有效JPG文件
  • 更新PIL库:执行!pip install --upgrade pillow解决版本兼容问题
  • 重新上传压缩包:若压缩包传输中损坏,重新上传后再测试

内容的提问来源于stack exchange,提问作者Đăng Sơn Nguyễn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 12:05:17