CIFAR-10 and CIFAR-100 datasets

自己使用官网的链接下载很慢,IDM不上1mb/s,还断连

法1:.参考这个兄弟的分享,他用的是腾讯微云,网页版登录一下QQ就可以下载,速度很快

https://zhuanlan.zhihu.com/p/129078357

法2:如果你电脑有迅雷,使用迅雷下载,不知道官网的链接是不是支持p2p加速的,反正丢到迅雷里下载贼快,速度拉满

这里我使用PyTorch使用,本地下载之后,在py文件或ipynb文件同级目录下建立文件夹.随便起名字,比如叫'data',也可以叫'./data',一样,

注意:在CIFAR10函数不要标注download=True,你那DeepSeek或chatGpt的生成代码很可能加了这个参数,这会导致重复联网下载到你Windows的C盘里面,你不加他就不会联网下载

import torch
import torchvision  # 包含数据集和预处理工具
import torchvision.transforms as transforms  # 数据变换
import matplotlib.pyplot as plt  # 图像展示
import numpy as np  # 数组处理
# 定义数据变换:将 PIL 图像转为 Tensor,并标准化(均值和标准差来自 CIFAR-10 统计值)
transform = transforms.Compose([
    transforms.ToTensor(),  # 转为 Tensor (范围 [0,1])
    transforms.Normalize(   # 标准化到 [-1,1](均值mean,标准差std)
        mean=[0.4914, 0.4822, 0.4465],  # CIFAR-10 三通道均值
        std=[0.2470, 0.2435, 0.2616]    # CIFAR-10 三通道标准差
    )
])

# 加载训练集(root:保存路径,train=True:训练集,download=True:自动下载)
train_dataset = torchvision.datasets.CIFAR10(
    root='./data', train=True,  transform=transform
)

# 加载测试集(train=False:测试集)
test_dataset = torchvision.datasets.CIFAR10(
    root='data', train=False,    transform=transform
)

# 创建数据加载器(batch_size=4:每次加载4张图像,shuffle=True:训练集打乱顺序)
train_loader = torch.utils.data.DataLoader(
    train_dataset, batch_size=4, shuffle=True, num_workers=2  # num_workers:多线程加载
)

# CIFAR-10 类别名称(索引 0-9 对应类别)
classes = ('plane', 'car', 'bird', 'cat', 'deer', 
           'dog', 'frog', 'horse', 'ship', 'truck')
print(train_dataset)
print(test_dataset)

更多推荐