5-Dataloader使用
1. Dataloader使用
① Dataset只是去告诉我们程序,我们的数据集在什么位置,数据集第一个数据给它一个索引0,它对应的是哪一个数据。
② Dataloader就是把数据加载到神经网络当中,Dataloader所做的事就是每次从Dataset中取数据,至于怎么取,是由Dataloader中的参数决定的。
import torchvision
from torch.utils.data import DataLoader
# 准备的测试数据集
test_data = torchvision.datasets.CIFAR10("./dataset",train=False,transform=torchvision.transforms.ToTensor())
img, target = test_data[0]
print(img.shape)
print(img)
# batch_size=4 使得 img0, target0 = dataset[0]、img1, target1 = dataset[1]、img2, target2 = dataset[2]、img3, target3 = dataset[3],然后这四个数据作为Dataloader的一个返回
test_loader = DataLoader(dataset=test_data,batch_size=4,shuffle=True,num_workers=0,drop_last=False)
# 用for循环取出DataLoader打包好的四个数据
for data in test_loader:
imgs, targets = data # 每个data都是由4张图片组成,imgs.size 为 [4,3,32,32],四张32×32图片三通道,targets由四个标签组成
print(imgs.shape)
print(targets)
torch.Size([3, 32, 32])
tensor([[[0.6196, 0.6235, 0.6471, ..., 0.5373, 0.4941, 0.4549],
[0.5961, 0.5922, 0.6235, ..., 0.5333, 0.4902, 0.4667],
[0.5922, 0.5922, 0.6196, ..., 0.5451, 0.5098, 0.4706],
...,
[0.2667, 0.1647, 0.1216, ..., 0.1490, 0.0510, 0.1569],
[0.2392, 0.1922, 0.1373, ..., 0.1020, 0.1137, 0.0784],
[0.2118, 0.2196, 0.1765, ..., 0.0941, 0.1333, 0.0824]],
[[0.4392, 0.4353, 0.4549, ..., 0.3725, 0.3569, 0.3333],
[0.4392, 0.4314, 0.4471, ..., 0.3725, 0.3569, 0.3451],
[0.4314, 0.4275, 0.4353, ..., 0.3843, 0.3725, 0.3490],
...,
[0.4863, 0.3922, 0.3451, ..., 0.3804, 0.2510, 0.3333],
[0.4549, 0.4000, 0.3333, ..., 0.3216, 0.3216, 0.2510],
[0.4196, 0.4118, 0.3490, ..., 0.3020, 0.3294, 0.2627]],
[[0.1922, 0.1843, 0.2000, ..., 0.1412, 0.1412, 0.1294],
[0.2000, 0.1569, 0.1765, ..., 0.1216, 0.1255, 0.1333],
[0.1843, 0.1294, 0.1412, ..., 0.1333, 0.1333, 0.1294],
...,
[0.6941, 0.5804, 0.5373, ..., 0.5725, 0.4235, 0.4980],
[0.6588, 0.5804, 0.5176, ..., 0.5098, 0.4941, 0.4196],
[0.6275, 0.5843, 0.5176, ..., 0.4863, 0.5059, 0.4314]]])
torch.Size([4, 3, 32, 32])
tensor([2, 6, 4, 5])
torch.Size([4, 3, 32, 32])
tensor([7, 2, 1, 6])
torch.Size([4, 3, 32, 32])
tensor([6, 7, 4, 4])
torch.Size([4, 3, 32, 32])
tensor([9, 6, 1, 3])
torch.Size([4, 3, 32, 32])
tensor([1, 5, 8, 5])
torch.Size([4, 3, 32, 32])
tensor([1, 8, 4, 6])
torch.Size([4, 3, 32, 32])
tensor([9, 8, 7, 1])
torch.Size([4, 3, 32, 32])
tensor([6, 0, 9, 4])
torch.Size([4, 3, 32, 32])
tensor([7, 1, 9, 9])
torch.Size([4, 3, 32, 32])
tensor([6, 8, 7, 0])
torch.Size([4, 3, 32, 32])
tensor([6, 8, 1, 5])
torch.Size([4, 3, 32, 32])
tensor([5, 2, 7, 8])
torch.Size([4, 3, 32, 32])
tensor([7, 6, 7, 0])
torch.Size([4, 3, 32, 32])
tensor([9, 2, 0, 0])
torch.Size([4, 3, 32, 32])
tensor([0, 6, 0, 8])
torch.Size([4, 3, 32, 32])
tensor([6, 7, 3, 1])
torch.Size([4, 3, 32, 32])
tensor([3, 2, 6, 0])
torch.Size([4, 3, 32, 32])
tensor([9, 5, 0, 5])
torch.Size([4, 3, 32, 32])
tensor([5, 4, 2, 9])
torch.Size([4, 3, 32, 32])
tensor([9, 5, 9, 8])
torch.Size([4, 3, 32, 32])
tensor([3, 3, 8, 0])
torch.Size([4, 3, 32, 32])
tensor([2, 6, 1, 8])
torch.Size([4, 3, 32, 32])
tensor([1, 5, 6, 4])
torch.Size([4, 3, 32, 32])
tensor([9, 9, 6, 5])
torch.Size([4, 3, 32, 32])
tensor([7, 1, 2, 4])
torch.Size([4, 3, 32, 32])
tensor([1, 0, 8, 5])
torch.Size([4, 3, 32, 32])
tensor([2, 8, 1, 8])
torch.Size([4, 3, 32, 32])
tensor([7, 4, 6, 4])
torch.Size([4, 3, 32, 32])
tensor([5, 8, 5, 1])
torch.Size([4, 3, 32, 32])
tensor([8, 5, 9, 7])
torch.Size([4, 3, 32, 32])
tensor([2, 0, 9, 8])
torch.Size([4, 3, 32, 32])
tensor([2, 1, 4, 7])
torch.Size([4, 3, 32, 32])
tensor([9, 8, 1, 3])
torch.Size([4, 3, 32, 32])
tensor([4, 8, 1, 8])
torch.Size([4, 3, 32, 32])
tensor([5, 3, 8, 1])
torch.Size([4, 3, 32, 32])
tensor([2, 3, 7, 7])
torch.Size([4, 3, 32, 32])
tensor([6, 6, 8, 8])
torch.Size([4, 3, 32, 32])
tensor([4, 2, 7, 6])
torch.Size([4, 3, 32, 32])
tensor([2, 3, 1, 0])
torch.Size([4, 3, 32, 32])
tensor([0, 0, 5, 2])
torch.Size([4, 3, 32, 32])
tensor([0, 1, 1, 4])
torch.Size([4, 3, 32, 32])
tensor([1, 3, 2, 5])
torch.Size([4, 3, 32, 32])
tensor([2, 1, 1, 3])
torch.Size([4, 3, 32, 32])
tensor([5, 6, 1, 3])
torch.Size([4, 3, 32, 32])
tensor([8, 6, 2, 9])
torch.Size([4, 3, 32, 32])
tensor([5, 6, 4, 5])
torch.Size([4, 3, 32, 32])
tensor([9, 8, 5, 7])
torch.Size([4, 3, 32, 32])
tensor([6, 2, 8, 1])
torch.Size([4, 3, 32, 32])
tensor([6, 8, 7, 7])
torch.Size([4, 3, 32, 32])
tensor([1, 3, 6, 5])
torch.Size([4, 3, 32, 32])
tensor([6, 1, 8, 4])
torch.Size([4, 3, 32, 32])
tensor([1, 5, 7, 7])
torch.Size([4, 3, 32, 32])
tensor([5, 7, 1, 5])
torch.Size([4, 3, 32, 32])
tensor([5, 7, 7, 3])
torch.Size([4, 3, 32, 32])
tensor([1, 7, 4, 8])
torch.Size([4, 3, 32, 32])
tensor([2, 3, 0, 5])
torch.Size([4, 3, 32, 32])
tensor([6, 6, 7, 4])
torch.Size([4, 3, 32, 32])
tensor([2, 2, 7, 9])
torch.Size([4, 3, 32, 32])
tensor([8, 5, 8, 7])
torch.Size([4, 3, 32, 32])
tensor([5, 0, 8, 4])
torch.Size([4, 3, 32, 32])
tensor([4, 5, 9, 8])
torch.Size([4, 3, 32, 32])
tensor([6, 6, 7, 2])
torch.Size([4, 3, 32, 32])
tensor([6, 6, 1, 1])
torch.Size([4, 3, 32, 32])
tensor([2, 8, 3, 2])
torch.Size([4, 3, 32, 32])
tensor([7, 5, 5, 5])
torch.Size([4, 3, 32, 32])
tensor([1, 5, 5, 7])
torch.Size([4, 3, 32, 32])
tensor([0, 7, 5, 0])
torch.Size([4, 3, 32, 32])
tensor([9, 1, 4, 1])
torch.Size([4, 3, 32, 32])
tensor([8, 4, 6, 1])
torch.Size([4, 3, 32, 32])
tensor([3, 3, 0, 1])
torch.Size([4, 3, 32, 32])
tensor([7, 8, 6, 5])
torch.Size([4, 3, 32, 32])
tensor([3, 9, 6, 0])
torch.Size([4, 3, 32, 32])
tensor([9, 4, 5, 7])
torch.Size([4, 3, 32, 32])
tensor([0, 3, 4, 9])
torch.Size([4, 3, 32, 32])
tensor([1, 2, 8, 8])
torch.Size([4, 3, 32, 32])
tensor([7, 5, 0, 9])
torch.Size([4, 3, 32, 32])
tensor([3, 9, 3, 5])
torch.Size([4, 3, 32, 32])
tensor([0, 4, 3, 5])
torch.Size([4, 3, 32, 32])
tensor([6, 3, 5, 6])
torch.Size([4, 3, 32, 32])
tensor([2, 8, 8, 7])
torch.Size([4, 3, 32, 32])
tensor([6, 3, 4, 3])
torch.Size([4, 3, 32, 32])
tensor([7, 3, 2, 5])
torch.Size([4, 3, 32, 32])
tensor([1, 7, 5, 5])
torch.Size([4, 3, 32, 32])
tensor([3, 5, 2, 5])
torch.Size([4, 3, 32, 32])
tensor([3, 1, 5, 7])
torch.Size([4, 3, 32, 32])
tensor([0, 4, 7, 4])
torch.Size([4, 3, 32, 32])
tensor([6, 9, 9, 5])
torch.Size([4, 3, 32, 32])
tensor([8, 8, 6, 6])
torch.Size([4, 3, 32, 32])
tensor([0, 9, 3, 9])
torch.Size([4, 3, 32, 32])
tensor([4, 2, 2, 2])
torch.Size([4, 3, 32, 32])
tensor([5, 7, 6, 8])
torch.Size([4, 3, 32, 32])
tensor([8, 5, 2, 3])
torch.Size([4, 3, 32, 32])
tensor([1, 4, 3, 8])
torch.Size([4, 3, 32, 32])
tensor([8, 0, 3, 7])
torch.Size([4, 3, 32, 32])
tensor([2, 7, 1, 9])
torch.Size([4, 3, 32, 32])
tensor([1, 4, 4, 8])
torch.Size([4, 3, 32, 32])
tensor([0, 8, 6, 3])
torch.Size([4, 3, 32, 32])
tensor([6, 7, 2, 1])
torch.Size([4, 3, 32, 32])
tensor([4, 4, 0, 2])
torch.Size([4, 3, 32, 32])
tensor([2, 2, 4, 1])
torch.Size([4, 3, 32, 32])
tensor([3, 7, 3, 5])
torch.Size([4, 3, 32, 32])
tensor([3, 1, 8, 7])
torch.Size([4, 3, 32, 32])
tensor([7, 0, 9, 5])
torch.Size([4, 3, 32, 32])
tensor([0, 5, 9, 1])
torch.Size([4, 3, 32, 32])
tensor([3, 3, 5, 4])
torch.Size([4, 3, 32, 32])
tensor([6, 4, 6, 3])
torch.Size([4, 3, 32, 32])
tensor([2, 2, 0, 0])
torch.Size([4, 3, 32, 32])
tensor([7, 5, 1, 2])
torch.Size([4, 3, 32, 32])
tensor([5, 4, 6, 3])
torch.Size([4, 3, 32, 32])
tensor([1, 7, 5, 3])
torch.Size([4, 3, 32, 32])
tensor([3, 7, 4, 5])
torch.Size([4, 3, 32, 32])
tensor([4, 0, 0, 4])
torch.Size([4, 3, 32, 32])
tensor([0, 0, 9, 2])
torch.Size([4, 3, 32, 32])
tensor([5, 7, 4, 8])
torch.Size([4, 3, 32, 32])
tensor([2, 1, 7, 5])
torch.Size([4, 3, 32, 32])
tensor([5, 3, 5, 5])
torch.Size([4, 3, 32, 32])
tensor([6, 1, 8, 4])
torch.Size([4, 3, 32, 32])
tensor([1, 3, 4, 8])
torch.Size([4, 3, 32, 32])
tensor([6, 0, 1, 7])
torch.Size([4, 3, 32, 32])
tensor([0, 6, 2, 4])
torch.Size([4, 3, 32, 32])
tensor([7, 8, 1, 0])
torch.Size([4, 3, 32, 32])
tensor([9, 1, 0, 7])
torch.Size([4, 3, 32, 32])
tensor([7, 7, 2, 9])
torch.Size([4, 3, 32, 32])
tensor([1, 4, 9, 3])
torch.Size([4, 3, 32, 32])
tensor([8, 8, 3, 4])
torch.Size([4, 3, 32, 32])
tensor([4, 2, 3, 0])
torch.Size([4, 3, 32, 32])
tensor([4, 9, 2, 9])
torch.Size([4, 3, 32, 32])
tensor([0, 5, 8, 7])
torch.Size([4, 3, 32, 32])
tensor([1, 2, 5, 3])
torch.Size([4, 3, 32, 32])
tensor([1, 6, 8, 8])
torch.Size([4, 3, 32, 32])
tensor([2, 0, 3, 3])
torch.Size([4, 3, 32, 32])
tensor([1, 2, 0, 4])
torch.Size([4, 3, 32, 32])
tensor([1, 6, 1, 0])
torch.Size([4, 3, 32, 32])
tensor([5, 8, 6, 2])
torch.Size([4, 3, 32, 32])
tensor([4, 0, 5, 3])
torch.Size([4, 3, 32, 32])
tensor([9, 4, 5, 7])
torch.Size([4, 3, 32, 32])
tensor([6, 0, 1, 9])
torch.Size([4, 3, 32, 32])
tensor([5, 3, 7, 1])
torch.Size([4, 3, 32, 32])
tensor([4, 6, 4, 4])
torch.Size([4, 3, 32, 32])
tensor([6, 2, 9, 1])
torch.Size([4, 3, 32, 32])
tensor([7, 7, 3, 4])
torch.Size([4, 3, 32, 32])
tensor([4, 3, 4, 0])
torch.Size([4, 3, 32, 32])
tensor([8, 7, 7, 4])
torch.Size([4, 3, 32, 32])
tensor([1, 1, 2, 0])
torch.Size([4, 3, 32, 32])
tensor([7, 9, 8, 4])
torch.Size([4, 3, 32, 32])
tensor([1, 7, 4, 7])
torch.Size([4, 3, 32, 32])
tensor([0, 6, 5, 7])
torch.Size([4, 3, 32, 32])
tensor([6, 6, 6, 8])
torch.Size([4, 3, 32, 32])
tensor([2, 4, 3, 0])
torch.Size([4, 3, 32, 32])
tensor([8, 8, 9, 8])
torch.Size([4, 3, 32, 32])
tensor([7, 2, 1, 5])
torch.Size([4, 3, 32, 32])
tensor([2, 0, 8, 5])
torch.Size([4, 3, 32, 32])
tensor([9, 5, 3, 4])
torch.Size([4, 3, 32, 32])
tensor([5, 3, 2, 0])
torch.Size([4, 3, 32, 32])
tensor([2, 0, 2, 9])
torch.Size([4, 3, 32, 32])
tensor([2, 3, 4, 4])
torch.Size([4, 3, 32, 32])
tensor([8, 2, 4, 4])
torch.Size([4, 3, 32, 32])
tensor([6, 1, 7, 8])
torch.Size([4, 3, 32, 32])
tensor([8, 1, 6, 2])
torch.Size([4, 3, 32, 32])
tensor([0, 2, 4, 4])
torch.Size([4, 3, 32, 32])
tensor([6, 0, 6, 7])
torch.Size([4, 3, 32, 32])
tensor([7, 2, 6, 0])
torch.Size([4, 3, 32, 32])
tensor([9, 1, 9, 2])
torch.Size([4, 3, 32, 32])
tensor([1, 4, 3, 9])
torch.Size([4, 3, 32, 32])
tensor([0, 7, 5, 7])
torch.Size([4, 3, 32, 32])
tensor([1, 7, 1, 3])
torch.Size([4, 3, 32, 32])
tensor([2, 7, 4, 5])
torch.Size([4, 3, 32, 32])
tensor([5, 0, 4, 1])
torch.Size([4, 3, 32, 32])
tensor([2, 7, 5, 2])
torch.Size([4, 3, 32, 32])
tensor([3, 8, 2, 8])
torch.Size([4, 3, 32, 32])
tensor([2, 5, 2, 4])
torch.Size([4, 3, 32, 32])
tensor([8, 2, 3, 0])
torch.Size([4, 3, 32, 32])
tensor([7, 4, 2, 7])
2. Tensorboard展示
import torchvision
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter
# 准备的测试数据集
test_data = torchvision.datasets.CIFAR10("./dataset",train=False,transform=torchvision.transforms.ToTensor())
# batch_size=4 使得 img0, target0 = dataset[0]、img1, target1 = dataset[1]、img2, target2 = dataset[2]、img3, target3 = dataset[3],然后这四个数据作为Dataloader的一个返回
test_loader = DataLoader(dataset=test_data,batch_size=64,shuffle=True,num_workers=0,drop_last=False)
# 用for循环取出DataLoader打包好的四个数据
writer = SummaryWriter("logs")
step = 0
for data in test_loader:
imgs, targets = data # 每个data都是由4张图片组成,imgs.size 为 [4,3,32,32],四张32×32图片三通道,targets由四个标签组成
writer.add_images("test_data",imgs,step)
step = step + 1
writer.close()
① 在 Anaconda 终端里面,激活py3.6.3环境,再输入
tensorboard --logdir=C:\Users\wangy\Desktop\03CV\logs
命令,将网址赋值浏览器的网址栏,回车,即可查看tensorboard显示日志情况。


3. Dataloader多轮次
import torchvision
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter
# 准备的测试数据集
test_data = torchvision.datasets.CIFAR10("./dataset",train=False,transform=torchvision.transforms.ToTensor())
# batch_size=4 使得 img0, target0 = dataset[0]、img1, target1 = dataset[1]、img2, target2 = dataset[2]、img3, target3 = dataset[3],然后这四个数据作为Dataloader的一个返回
test_loader = DataLoader(dataset=test_data,batch_size=64,shuffle=True,num_workers=0,drop_last=True)
# 用for循环取出DataLoader打包好的四个数据
writer = SummaryWriter("logs")
for epoch in range(2):
step = 0
for data in test_loader:
imgs, targets = data # 每个data都是由4张图片组成,imgs.size 为 [4,3,32,32],四张32×32图片三通道,targets由四个标签组成
writer.add_images("Epoch:{}".format(epoch),imgs,step)
step = step + 1
writer.close()

5-Dataloader使用的更多相关文章
- torch.utils.data.DataLoader对象中的迭代操作
关于迭代器等概念参考:https://www.cnblogs.com/zf-blog/p/10613533.html 关于pytorch中的DataLoader类参考:https://blog.csd ...
- torch.utils.data.DataLoader()中的pin_memory参数
参考链接:http://www.voidcn.com/article/p-fsdktdik-bry.html 该pin_memory参数与锁页内存.不锁页内存以及虚拟内存三个概念有关: 锁页内存理解( ...
- 聊聊pytorch中的DataLoader
实际上pytorch在定义dataloader的时候是需要传入很多参数的,比如,number_workers, pin_memory, 以及shuffle, dataset等,其中sampler参数算 ...
- Gluon Datasets and DataLoader
mxnet.recordio MXRecordIO Reads/writes RecordIO data format, supporting sequential read and write. r ...
- torch.utils.data.DataLoader使用方法
数据加载器,结合了数据集和取样器,并且可以提供多个线程处理数据集.在训练模型时使用到此函数,用来把训练数据分成多个小组,此函数每次抛出一组数据.直至把所有的数据都抛出.就是做一个数据的初始化. 生成迭 ...
- [pytorch修改]dataloader.py 实现darknet中的subdivision功能
dataloader.py import random import torch import torch.multiprocessing as multiprocessing from torch. ...
- pytorch中如何使用DataLoader对数据集进行批处理
最近搞了搞minist手写数据集的神经网络搭建,一个数据集里面很多个数据,不能一次喂入,所以需要分成一小块一小块喂入搭建好的网络. pytorch中有很方便的dataloader函数来方便我们进行批处 ...
- pytorch的torch.utils.data.DataLoader认识
PyTorch中数据读取的一个重要接口是torch.utils.data.DataLoader,该接口定义在dataloader.py脚本中,只要是用PyTorch来训练模型基本都会用到该接口, 该接 ...
- mxnet自定义dataloader加载自己的数据
实际上关于pytorch加载自己的数据之前有写过一篇博客,但是最近接触了mxnet,发现关于这方面的教程很少 如果要加载自己定义的数据的话,看mxnet关于mnist基本上能够推测12 看pytorc ...
- Pytorch自定义dataloader以及在迭代过程中返回image的name
pytorch官方给的加载数据的方式是已经定义好的dataset以及loader,如何加载自己本地的图片以及label? 形如数据格式为 image1 label1 image2 label2 ... ...
随机推荐
- Hack The Box-Cap靶机
该靶机通过信息收集拿到大致信息,利用IDOR访问控制缺陷漏洞获得目标流量包,通过流量分析获取到ftp流量包存在用户名密码,可以ftp登录/ssh登录拿到第一个flag,利用linpeas.sh内网收集 ...
- win11开启hyper-v安装windows虚拟机
序言: 这周要居家办公了, 趁周末赶紧配置办公环境,因为公司注重安全保密,所以要用对应安全软件,我就干脆整台虚拟机来运行这些东西吧. 开启hyper-v服务 好像是由于电脑装的是windows家庭版, ...
- 附043.KubeEdge边缘云部署实施方案
目录 KubeEdge介绍 KubeEdge概述 KubeEdge优势 KubeEdge架构 KubeEdge部署 部署依赖 部署规划 主机名配置 变量准备 互信配置 环境预配置 安装keadm 设置 ...
- 🎀maven 版本管理
简介 Maven的versions插件提供了一系列用于处理项目版本的命令 相关命令 mvn versions:set 版本设置 mvn versions:set -DnewVersion=1.0.0- ...
- MySQL 中如何进行 SQL 调优?
MySQL 中如何进行 SQL 调优? SQL 调优是提高数据库查询性能的过程,主要目的是减少查询的响应时间和系统的负载.下面是一些常见的 SQL 调优方法和技巧. 1. 使用索引 索引的使用可以显著 ...
- app自动化的特殊操作
一.截屏 File srcfile=driver.getScreenshotAs(OutputType.FILE); //得到截图源文件对象 File dstfile=new File("C ...
- 在Avalonia/C#中使用依赖注入过程记录
前言 使用依赖注入可以让我们的程序变得更加好维护与测试. 今天分享的是在Avalonia/C#中使用依赖注入. 我准备了一个简单的不使用依赖注入与使用依赖注入的demo. 该demo已上传至GitHu ...
- Spring Ioc源码引入:什么是IoC,IoC解决了什么问题
Spring Ioc源码引入:什么是IoC,IoC解决了什么问题 什么是IoC 用一个故事举例: 小陈想开一家咖啡店,于是独自创业.找咖啡豆供应商.买咖啡机.招员工,样样都要自己来.开店成本很高.后来 ...
- Sentinel——熔断规则
目录 熔断规则 慢调用比例 慢比例调用代码实现 自定义异常处理器(返回响应流) 自定义异常处理类 测试 自定义异常处理器(返回页面) 异常处理器 定义页面 测试 熔断规则 现代微服务架构都是分布式的, ...
- K-means 基本流程 Demo
也是单纯搬个砖, 记个笔记, K-Means 最近是有在用的, 当然之前也有用的, 也是掉包来弄的, 已经很少会去自己写了, 这里的目的, 也是为了自己, 后面再遇到可以复制粘贴. 对, 情况就是这样 ...