dataloaders.dataset
时间: 2024-06-09 08:06:44 浏览: 125
`DataLoader` 是 PyTorch 中用于加载数据的类,而 `dataset` 则是 `DataLoader` 中使用的数据集类。
`dataset` 是一个抽象类,用于表示数据集。你可以通过继承 `torch.utils.data.Dataset` 类来创建自定义的数据集类。在自定义数据集类中,你需要实现两个方法:`__len__` 和 `__getitem__`。`__len__` 方法返回数据集的大小,而 `__getitem__` 方法根据给定的索引返回对应的数据样本。
`DataLoader` 则是一个包装器类,它将数据集包装成一个可迭代对象,方便进行数据的批量加载。通过 `DataLoader`,你可以指定批量大小、并行加载数据等参数。
以下是一个简单的示例代码,展示了如何使用 `dataset` 和 `DataLoader` 加载数据:
```python
import torch
from torch.utils.data import Dataset, DataLoader
# 自定义数据集类
class MyDataset(Dataset):
def __init__(self):
self.data = [1, 2, 3, 4, 5]
def __len__(self):
return len(self.data)
def __getitem__(self, index):
return self.data[index]
# 创建数据集对象和 DataLoader 对象
dataset = MyDataset()
dataloader = DataLoader(dataset, batch_size=2, shuffle=True)
# 使用 DataLoader 迭代加载数据
for batch in dataloader:
print(batch)
```
阅读全文