pytorch对一下常用的公开数据集有很方便的API接口,但是当我们需要使用自己的数据集训练神经网络时,就需要自定义数据集,在pytorch中,提供了一些类,方便我们定义自己的数据集合
torch.utils.data.Dataset:所有继承他的子类都应该重写 __len()__ , __getitem()__ 这两个方法
__len()__ :返回数据集中数据的数量
__getitem()__ :返回支持下标索引方式获取的一个数据
torch.utils.data.DataLoader:对数据集进行包装,可以设置batch_size、是否shuffle....
第一步自定义的 Dataset 都需要继承 torch.utils.data.Dataset 类,并且重写它的两个成员方法:
__len()__:读取数据,返回数据和标签
__getitem()__:返回数据集的长度
from torch.utils.data import Dataset class AudioDataset(Dataset): def __init__(self, ...): """类的初始化""" pass def __getitem__(self, item): """每次怎么读数据,返回数据和标签""" return data, label def __len__(self): """返回整个数据集的长度""" return total