图片数据集的建立,和下面例子道理一样;
x,可视为图片数据
y,可视为标签数据
import torch
import torch.utils.data as Data
x=torch.randn(10,10) #随机生成一些数据
y=torch.linspace(10,1,10)
print(x) #将数据打印出来看下
print(y)
torch_dataset=Data.TensorDataset(x,y) #将x,y合并到一起
loader=Data.DataLoader( #dataloader加载数据
dataset=torch_dataset, #加载的数据集
batch_size=3, #每次的批处理的数目
shuffle=True, #是否将数据打乱
num_workers=1) #多线程
#将取得的数据打印出来看下
for step,(x,y)in enumerate(loader):
print(step)
print(x)
print(y)
最后结果图:
dataloader参数:
1. dataset:加载的数据集
2. batch_size:batch size
3. shuffle::是否将数据打乱
4. sampler: 样本抽样
5. num_workers:使用多进程加载的进程数,0代表不使用多进程
6. collate_fn: 如何将多个样本数据拼接成一个batch,一般使用默认的拼接方式即可
7. pin_memory:是否将数据保存在pin memory区
8. drop_last:dataset中的数据个数可能不是batch_size的整数倍,drop_last为True会将多出来不足一个batch的数据丢弃,True 表示如果最后剩下不完全的batch,丢弃。False表示不丢弃。