在 PyTorch 中,可以使用 torchvision.datasets
模块来加载常见的数据集,如 MNIST、CIFAR-10 等。这些数据集通常会被下载到本地,并返回一个 Dataset
对象,可以通过 DataLoader
对象来对数据集进行批量加载和随机打乱。
以下是一个加载 MNIST 数据集的示例代码:
import torch
from torchvision import datasets, transforms
from torch.utils.data import DataLoader
# 定义数据预处理
transform = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize((0.5,), (0.5,))
])
# 加载 MNIST 训练集和测试集
train_dataset = datasets.MNIST(root='./data', train=True, download=True, transform=transform)
test_dataset = datasets.MNIST(root='./data', train=False, download=True, transform=transform)
# 创建 DataLoader 对象
train_loader = DataLoader(train_dataset, batch_size=64, shuffle=True)
test_loader = DataLoader(test_dataset, batch_size=64, shuffle=False)
# 遍历数据集
for inputs, labels in train_loader:
# 在这里进行模型训练
pass
上面的代码首先定义了数据预处理的方法 transform
,然后使用 datasets.MNIST
加载了 MNIST 数据集的训练集和测试集,并创建了对应的 DataLoader
对象 train_loader
和 test_loader
。最后,可以通过遍历 train_loader
来逐批获取训练数据和标签,并进行模型训练。