You need to enable JavaScript to run this app. Google Colab是否有学术用预构建ImageNet?如何在Colab使用该数据集?
优惠活动
大模型
产品
解决方案
定价
更多

Google Colab是否有学术用预构建ImageNet?如何在Colab使用该数据集?

Google Colab 中使用 ImageNet 数据集的替代方案

以下是3种可直接落地的实现方式:


方法1:直接下载公开镜像压缩包后加载

这是最贴近原生torchvision.datasets.ImageNet使用习惯的方案:

  • 首先可按需挂载Google Drive,避免每次重启Colab都重复下载数据集
from google.colab import drive
drive.mount('/content/drive')
  • 执行wget命令下载ImageNet-1k压缩包,下载完成后解压到指定路径
# 下载训练集、验证集压缩包,源为公开授权镜像
wget [ImageNet公开镜像地址] -P /content/drive/MyDrive/imagenet/
# 解压训练集
tar -xvf /content/drive/MyDrive/imagenet/ILSVRC2012_img_train.tar -C /content/imagenet/train
# 解压验证集
tar -xvf /content/drive/MyDrive/imagenet/ILSVRC2012_img_val.tar -C /content/imagenet/val
  • 解压完成后直接用原生ImageNet类读取本地路径即可,不需要填download参数
from torchvision.datasets import ImageNet
from torchvision import transforms

transform = transforms.Compose([transforms.Resize(256), transforms.CenterCrop(224), transforms.ToTensor()])
train_dataset = ImageNet(root='/content/imagenet', split='train', transform=transform)
val_dataset = ImageNet(root='/content/imagenet', split='val', transform=transform)

注意:ImageNet完整数据集体积超过150G,需要确保你的Drive有足够存储空间;若不需要持久化存储可直接下载到Colab临时目录,临时目录默认提供约70G存储,加载完整数据集需要升级Colab存储权限


方法2:通过Hugging Face Datasets库加载

如果不想手动处理解压和路径配置,可以用datasets库封装好的接口直接加载:

  • 先安装依赖库
pip install datasets torchvision
  • 直接加载数据集,库会自动处理下载、解压、标注匹配逻辑
from datasets import load_dataset
import torch
from torchvision import transforms

transform = transforms.Compose([transforms.Resize(256), transforms.CenterCrop(224), transforms.ToTensor()])
def transform_func(examples):
    examples["pixel_values"] = [transform(img.convert("RGB")) for img in examples["image"]]
    return examples

dataset = load_dataset("imagenet-1k", split="train")
dataset = dataset.with_transform(transform_func)
# 转为Pytorch DataLoader使用
dataloader = torch.utils.data.DataLoader(dataset, batch_size=32, shuffle=True)

方法3:使用Tiny ImageNet子集调试

如果只是做功能测试、不需要完整1000类的数据集,可以用Tiny ImageNet子集,总大小仅237M,加载速度快很多:

# 下载并解压Tiny ImageNet(源为公开教学镜像)
wget [Tiny ImageNet公开下载地址]
unzip tiny-imagenet-200.zip
# 用torchvision的ImageFolder类直接读取即可
from torchvision.datasets import ImageFolder
from torchvision import transforms

transform = transforms.Compose([transforms.Resize(256), transforms.CenterCrop(224), transforms.ToTensor()])
train_dataset = ImageFolder('./tiny-imagenet-200/train', transform=transform)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 05:54:09