加载数据集
Dataset和Dataloader的用法
两个极端
直接用全部的数据集训练(Batch):最大化利用向量计算优势,但消耗资源过大
每次只用一个样本训练模型:具有较好的随机性,有助于跨越鞍点,但并行化差,计算效率太低(存疑:batch_size过小,每个mini-batch的样本数据将没有统计意义)
1 | # Training cycle |
一些概念
- Epoch:所有样本都参与了一次训练
- Batch-Size:一次forward-backward pass中用的样本数量
- Iteration:内层迭代一共进行了多少次,即pass的数目
DataLoader用法
这是训练的四个步骤中Prepare dataset这一步
Prepare dataset
Dataset and Dataloader
Design model using Class
- Inherit from nn.Module
Construct loss and optimizer
Training cycle
- forward, backward, update
1 | import torch |
一些现成数据集
torchvision
包中带有众多已有数据集
课程来源:《PyTorch深度学习实践》完结合集