当前位置: 首页 > news >正文

DataLoader的使用

DataLoader的使用

在这里插入图片描述

测试DataLoader,batch_size大小为4

import torchvision.datasets
from torch.utils.data import DataLoadertest_data = torchvision.datasets.CIFAR10("./dataset", train=False, transform=torchvision.transforms.ToTensor())
test_loader = DataLoader(dataset=test_data, batch_size=4, shuffle=False, num_workers=0, drop_last=False)# 测试数据集中第一张图片及target
img, target = test_data[0]
print(img.shape)  # 3通道, 32x32
print(target)for data in test_loader:imgs, targets = dataprint(imgs.shape)print(targets)

在这里插入图片描述

将batch_size的大小改为64,创建日志文件

import torchvision.datasets
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWritertest_data = torchvision.datasets.CIFAR10("./dataset", train=False, transform=torchvision.transforms.ToTensor())
test_loader = DataLoader(dataset=test_data, batch_size=64, shuffle=True, num_workers=0, drop_last=False)# 测试数据集中第一张图片及target
img, target = test_data[0]
print(img.shape)  # 3通道, 32x32
print(target)writer = SummaryWriter("dataloader")
step = 0
for data in test_loader:imgs, targets = data# print(imgs.shape)# print(targets)writer.add_images("test_data", imgs, step)step = step + 1writer.close()

运行后,在文件目录中生成dataloader文件夹
在Terminal中输入:

tensorboard --logdir="learn_pytorch/dataloader"

在这里插入图片描述
点开链接,每一步为8x8张图片
在这里插入图片描述

drop_last的作用

最后一步为8x2张图片,这是由于最后一组图片不足64张,并且drop_last=False,这个参数表示最后一步不足batch_size大小时,仍然保留图片
在这里插入图片描述
若改为drop_last=True
最后一步为第155步,有8X8张图片,删掉了最后一组的图片
在这里插入图片描述
在这里插入图片描述

shuffle的作用

当重复运行两轮时,决定第一轮数据和第二轮数据是否一样

shuffle=False:一样

在这里插入图片描述
在这里插入图片描述

shuffle=True:不一样

在这里插入图片描述
在这里插入图片描述

相关文章:

  • RabbitMQ3.13.x之七_RabbitMQ消息队列模型
  • 如何在Flutter应用中配置ipa Guard进行混淆
  • Spring之事务底层源码解析
  • 懒人必备!4个PS抠图技巧,让你轻松处理复杂背景!
  • 使用阿里云试用Elasticsearch学习:2.3 深入搜索——多字段搜索
  • JDK安全剖析之安全处理入门
  • 实践笔记-03 docker buildx 使用
  • 风电场智能化转型基于ARM工控机的HDMI数据实时监控显示
  • 牛客错题整理——C++
  • Android 应用启动过程
  • 交换机与队列的介绍
  • Maven所有版本下载地址注意事项
  • GlusterFS分布式文件系统
  • 计算机视觉——基于傅里叶幅度谱文档倾斜度检测与校正
  • mysql 多个 SELECT 查询的结果集放多个字段
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • C++类中的特殊成员函数
  • ComponentOne 2017 V2版本正式发布
  • CSS魔法堂:Absolute Positioning就这个样
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • HomeBrew常规使用教程
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • Markdown 语法简单说明
  • Meteor的表单提交:Form
  • Nacos系列:Nacos的Java SDK使用
  • Otto开发初探——微服务依赖管理新利器
  • web标准化(下)
  • 读懂package.json -- 依赖管理
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 关于extract.autodesk.io的一些说明
  • 技术:超级实用的电脑小技巧
  • 提醒我喝水chrome插件开发指南
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • (2)Java 简介
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (二十三)Flask之高频面试点
  • (二十四)Flask之flask-session组件
  • (十)T检验-第一部分
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (转)树状数组
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • **PHP分步表单提交思路(分页表单提交)
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .NET 中创建支持集合初始化器的类型
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • .NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)
  • @param注解什么意思_9000字,通俗易懂的讲解下Java注解
  • @RequestBody与@ModelAttribute
  • @RequestParam,@RequestBody和@PathVariable 区别
  • [100天算法】-目标和(day 79)