一、DataLoader
torch.utils.data.DataLoader()
功能:构建可迭代的数据装载器
其中几个比较常用的参数:
dataset:Dataset类,决定数据从哪读取以及如何读取
batchsize:每批次的大小
num_works:是否多进程读取数据
shuffle:每个epoch是否打乱顺序
drop_last:当样本数不能被batchsize整除时,是否舍弃掉最后一批数据
代码展示:
from torch.utils.data import DataLoader
train_loder = DataLoader(
# dataset 接收的一个数据对象
dataset=train_dataset, # 对什么数据集进行分批
batch_size=BATCH_SIZE, # 每个批次的样本数
shuffle=True, # 是否进行打乱拆分
drop_last=False, # 样本数/BATCH_SIZE 如果不能整除 是否删除最后一个批次
)
二、Dataset
torch.utils.data.Dataset()
功能:Dataset抽象类,所有定义的Dataset需要继承它,并且复写
在通常情况下我们使用Dataset类的方法如下:
class My_Dataset(Dataset):
def __init__(self):
# 用来初始化数据
pass
def __getitem__(self):
# 用来接收一个索引,返回一个样本
pass
def __len__(self):
# 用来返回数据长度
pass