0 写在前面
- 这次学习的是数据集获取,Dataset和DataLoader
>>>首先介绍一些术语:
- Data size:就是所有的训练数据(但是数据量比较大不能一次喂给模型)
- Batch:也就是mini-batch,就是把Data size分批次的喂给模型
- Iteration:当一个batch的数据都训练一次就称为一个Iteration
- Epoch:当一个Data size的数据都训练一次就称为一个Epoch
1 Dataset、DataLoader学习
1.1 Dataset作用?
- 知道数据集的大小
- 知道数据集的某一行
- 划分训练集、测试集
1.2 DataLoader作用?
- 划分batch
- 选择是否shuffle打乱
import torch
from torch.utils.data import Dataset
from torch.utils.data import DataLoader
class DiabetesDataset(Dataset):
def __init__(self):
pass
def __getitem__(self, item):
pass
def __len__(self):
pass
dataset = DiabetesDataset()
train_loader = DataLoader(dataset=dataset,
batch_size=32,
shuffle=True,
num_workers=2)
-
DataLoader:构建可迭代的数据装载器,我们在训练的时候,每一个for循环,每一次iteration,就会从DataLoader中获取一个batch_size大小的数据。
-
shuffle:表示是否需要打乱数据集中的数据。
-
num_workers :表示线程处理,加了之后可以并行处理程序。需要用main函数wrap起来
-
数据集需要放在.py文件的同一目录下(如下图所示)
-
数据集我已经发布在我的下载中,大家可以点击下面链接进行下载哦
https://download.csdn.net/download/weixin_42521185/84991728
- 经过填写函数之后,得到下面准备数据集的完整代码。
class DiabetesDataset(Dataset):
def __init__(