深度学习基础知识 Dataset 与 DataLoade的用法解析
- 1、Dataset
- 2、DataLoader
- 参数设置:
- 1、pin_memory
- 2、num_workers
- 3、collate_fn
- 分类任务
- 目标检测任务
1、Dataset
代码:
import torch
from torch.utils import dataclass MyDataset(torch.utils.data.Dataset):def __init__(self):self.data=torch.arange(0,20)def __getitem__(self,index):x=self.data[index]y=x * 2return ydef __len__(self):return len(self.data)# 定义DataLoader
dataset=MyDataset()
print(len(dataset))
print(dataset[3])
打印结果:
2、DataLoader
import torch
from torch.utils import dataclass MyDateset(torch.utils.data.Dataset):def __init__(self):self.data=torch.arange(0,20)def __getitem__(self,index):x=self.data[index]y=x * 2return ydef __len__(self):return len(self.data)# 定义DataLoader
dataset=MyDateset()
print(len(dataset))
print(dataset[3])dataloader=torch.utils.data.DataLoader(dataset,shuffle=True,batch_size=4)
print(len(dataloader))for x in dataloader:print(x)
打印结果如下所示:
参数设置:
1、pin_memory
2、num_workers
3、collate_fn
分类任务
目标检测任务
在进行目标检测任务中,需要重写collate方法,并将方法传入到DataLoader中