要在PyTorch中制作自己的数据集,你需要创建一个继承自torch.utils.data.Dataset
的自定义数据集类。这个类需要实现__len__
和__getitem__
方法。
下面是一个简单的例子,展示了如何创建一个自定义数据集类:
import torch
from torch.utils.data import Dataset
class CustomDataset(Dataset):
def __init__(self, data, targets):
self.data = data
self.targets = targets
def __len__(self):
return len(self.data)
def __getitem__(self, index):
x = self.data[index]
y = self.targets[index]
return x, y
在这个例子中,CustomDataset
类接受两个参数data
和targets
,分别代表数据和对应的标签。__len__
方法返回数据集的长度,__getitem__
方法根据给定的索引返回对应的数据和标签。
接下来,你可以实例化这个自定义数据集类并将其用于创建一个DataLoader
对象,从而可以方便地迭代数据集进行训练或测试:
data = [...] # your data
targets = [...] # your targets
custom_dataset = CustomDataset(data, targets)
dataloader = torch.utils.data.DataLoader(custom_dataset, batch_size=64, shuffle=True)
现在你可以使用dataloader
来迭代自定义数据集进行训练。