在PyTorch中创建自定义数据集是训练模型的关键步骤。以下是详细说明:
步骤概览 📝
继承
Dataset
类
使用torch.utils.data.Dataset
作为基类,重写__len__
和__getitem__
方法数据预处理 🧼
通过transforms
模块定义图像/标签转换规则数据加载器 🚀
使用DataLoader
实现批量数据迭代from torch.utils.data import DataLoader loader = DataLoader(dataset, batch_size=32, shuffle=True)
代码模板 📂
import torch
from torch.utils.data import Dataset, DataLoader
class CustomDataset(Dataset):
def __init__(self, data_dir, transform=None):
self.data_dir = data_dir
self.transform = transform
# 加载数据逻辑...
def __len__(self):
# 返回数据总量...
return len(self.data_list)
def __getitem__(self, idx):
# 获取单条数据及标签...
image, label = self.data_list[idx]
if self.transform:
image = self.transform(image)
return image, label
注意事项 ⚠️
- 确保数据路径权限正确 📁
- 使用
torchvision
进行图像标准化 👀 - 参考官方文档了解更详细用法
PyTorch官方文档