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

在Google Colab中使用huggingface load_dataset加载数据集报错

解决Colab加载nielsr/funsd-layoutlmv3数据集的UnidentifiedImageError问题

问题根源是Colab环境中下载的数据集缓存内图片文件损坏或不完整,而本地VS Code环境的数据集文件完整。以下是几种可行的解决方法:

方法1:强制重新下载数据集

加载数据集时添加force_redownload=True参数,跳过本地缓存,重新拉取完整的数据集文件:

dataset_id = "nielsr/funsd-layoutlmv3"
from datasets import load_dataset

# 强制重新下载,避免使用损坏的缓存
dataset = load_dataset(dataset_id, force_redownload=True)

print(f"Train dataset size: {len(dataset['train'])}")
print(f"Test dataset size: {len(dataset['test'])}")

方法2:手动清除损坏的缓存目录

直接删除对应数据集的缓存文件夹,再重新加载:

# 删除该数据集的缓存目录
!rm -rf /root/.cache/huggingface/datasets/nielsr___funsd-layoutlmv3

执行后重新运行原加载代码即可。

方法3:更新Pillow库

Colab默认的Pillow版本可能存在兼容性问题,更新到最新版本可修复部分图片识别错误:

!pip install --upgrade pillow

更新完成后重启Colab运行时,再重新加载数据集。

方法4:验证单个图片文件(排查用)

如果以上方法无效,可以手动检查报错的图片文件是否完整:

from PIL import Image
import os

img_path = "/root/.cache/huggingface/datasets/downloads/extracted/e5bbbc543f8cc95554da124f3e80a57ed24d67d06ae1467da5810703f851e3f9/dataset/training_data/images/0000971160.png"
# 检查文件大小
print(f"File size: {os.path.getsize(img_path)} bytes")
# 尝试打开图片
try:
    img = Image.open(img_path)
    print("Image opened successfully")
except Exception as e:
    print(f"Error opening image: {e}")

如果文件大小异常(远小于正常PNG文件),说明下载不完整,回到方法1或2重新下载即可。

内容的提问来源于stack exchange,提问作者Luiz Felipe Bromfman

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 20:20:48