写python 继承Dataset对象,并实现__len__()、getitem() 程序
时间: 2024-05-12 19:18:59 浏览: 117
以下是一个继承自Dataset对象的示例类,实现了__len__()和getitem()方法:
```python
from torch.utils.data import Dataset
class MyDataset(Dataset):
def __init__(self, data):
self.data = data
def __len__(self):
return len(self.data)
def __getitem__(self, index):
sample = self.data[index]
# 这里可以进行数据处理和增强操作
return sample
```
在上述代码中,MyDataset类继承自Dataset对象,并重写了__len__()和__getitem__()方法。
__init__()方法接受一个参数data,用于初始化MyDataset对象的数据集。__len__()方法返回数据集的长度,即数据样本的数量。在本示例中,我们使用len()函数获取数据集的长度。__getitem__()方法用于获取数据集中某个索引位置的数据样本,并进行数据处理和增强操作。
该类的使用方法如下:
```python
dataset = MyDataset(data)
sample = dataset[0] # 获取数据集中的第一个数据样本
print(len(dataset)) # 输出数据集的长度
```
注:上述代码中的data可以是列表、numpy数组、Pandas数据帧等数据结构。
阅读全文