加载数据集
三个术语
Epoch
Batch-Size
lterations
Epoch:对所有的训练数据进行一次正向传播和反向传播
Batch-Size:每次正向和反向传播的训练样本数
Iteration:训练(即权重更新)的次数,每个epoch进行“训练样本数/Batch-Size”次迭代
DataLoader
Dataset重写__init__(self, data, label) __getitem__(self,index) __add__(seld,other) __len__(self)
__init__方法是python中的构造方法,其传入参数就是我们的数据集(data)和标签集(label)
__getitem__方法是获取返回数据的方法,从数据集中得到一个数据片段(如:数据,标签)
__len__():返回整个数据集的长度
class CustomDataset(data.Dataset):#需要继承data.Dataset
def __init__(self):
# TODO
# 1. Initialize file path or list of file names.
pass
def __getitem__(self, index):
# TODO
# 1. Read one data from file (e.g. using numpy.fromfile, PIL.Image.open).
# 2. Preprocess the data (e.g. torchvision.Transform).
# 3. Return a data pair (e.g. image and label).
#这里需要注意的是,第一步:read one data,是一个data
pass
def __len__(self):
# You should change 0 to the total size of your dataset.
return 0