动手学深度学习(pytorch土堆)-04torchvision中数据集的使用

news2025/1/12 6:43:46

CIFAR10

CIFAR-10 数据集由 10 个类的 60000 张 32x32 彩色图像组成,每个类有 6000 张图像。有 50000 张训练图像和 10000 张测试图像。

数据集分为 5 个训练批次和 1 个测试批次,每个批次有 10000 张图像。测试批次包含每个类中随机选择的 1000 张图像。训练批次包含按随机顺序排列的剩余图像,但某些训练批次可能包含来自一个类的图像多于另一个类的图像。在它们之间,训练批次包含来自每个类的 5000 张图像。

import torchvision
train_set=torchvision.datasets.CIFAR10(root="./dataset",train=True,download=True)
test_set=torchvision.datasets.CIFAR10(root="./dataset",train=False,download=True)
print(test_set[0])

(<PIL.Image.Image image mode=RGB size=32x32 at 0x1F5B55DD5E0>, 3)

test_set[]存放两个数据,一个是图像本身,一个是标签
在这里插入图片描述
图片显示

import torchvision
from torch.utils.tensorboard import SummaryWriter
dataset_transform=torchvision.transforms.Compose([torchvision.transforms.ToTensor()]
                                                 )#将图片都转为tensor数据类型
train_set=torchvision.datasets.CIFAR10(root="./dataset",train=True,transform=dataset_transform,download=True)
test_set=torchvision.datasets.CIFAR10(root="./dataset",train=False,transform=dataset_transform,download=True)
print(test_set[0])
writer=SummaryWriter("p10")
for i in range(10):
    img,target=test_set[i]
    writer.add_image("test_set",img,i)
writer.close()

在这里插入图片描述

dataloader

参数
dataset (Dataset) – 从中加载数据的数据集。

batch_size (int, optional) – 每批要加载的样本数 (默认值:)。1

shuffle (bool, optional) – 设置为重新洗牌数据 在每个 epoch (默认值: )。TrueFalse

sampler (Sampler 或 Iterable,可选) – 定义绘制的策略 数据集中的样本。可以是任何已实施的。如果指定,则不得指定。Iterable__len__shuffle

batch_sampler (Sampler 或 Iterable,可选) – 类似于 ,但 一次返回一批索引。与 、 、 互斥 和。batch_sizeshuffledrop_last

num_workers (int, optional) – 用于数据的子进程数 装载。 表示数据将在主进程中加载。 (默认:00)

collate_fn (Callable, optional) – 合并样本列表以形成 小批量的 Tensor 中。当使用 batch loading from 地图样式数据集。

pin_memory (bool, optional) – 如果 ,数据加载器将复制 Tensor 放入 device/CUDA 固定内存中。如果您的数据元素 是自定义类型,或者您返回的批次是自定义类型, 请参阅下面的示例。Truecollate_fn

drop_last (bool, optional) – 设置为 以删除最后一个未完成的批次, 如果数据集大小不能被批量大小整除。If 和 数据集的大小不能被批次大小整除,然后是最后一个批次 会更小。(默认:TrueFalseFalse)

timeout (numeric, optional) – 如果为正数,则为收集批次的超时值 从工人。应始终为非负数。(默认:0)

worker_init_fn (Callable, optional) – 如果不是 ,则将在每个 worker 子进程,其中 worker id ( int in ) 为 input、seeding 之后和 data loading 之前。(默认:None[0, num_workers - 1]None)

multiprocessing_context (str 或 multiprocessing.context.BaseContext,可选) – 如果 ,则操作系统的默认多处理上下文将 被使用。(默认:NoneNone)

发电机(Torch.生成器,可选) – 如果没有,将使用此 RNG 通过 RandomSampler 生成随机索引,并通过 multiprocessing 为 worker 生成。(默认:Nonebase_seedNone)

prefetch_factor (int, optional, keyword-only arg) – 加载的批次数 由每个 worker 提前完成。 表示总共会有 2 * num_workers 个批次,在所有工作程序中预取。(默认值取决于 在 num_workers 的 Set 值上。如果值 num_workers=0,则默认值为 。 否则,如果 default 的值为 )。2Nonenum_workers > 02

persistent_workers (bool, optional) – 如果 ,则数据加载器不会关闭 工作程序在 dataset 被使用一次后进行处理。这允许 保持 worker Dataset 实例处于活动状态。(默认:TrueFalse)

pin_memory_device (str, optional) – 如果设备为 。pin_memorypin_memoryTrue

import torchvision
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter

test_data=torchvision.datasets.CIFAR10(root="./dataset",train=False,transform=torchvision.transforms.ToTensor(),download=True)
test_loader=DataLoader(dataset=test_data,batch_size=4,shuffle=True,num_workers=0,drop_last=False)
#测试数据集第一张图片
img,target=test_data[0]
#

writer=SummaryWriter("dataloader")
i=0
for data in test_loader:
    imgs,target=data
    writer.add_images("testdata",imgs,i)
    i=i+1
writer.close()

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2131221.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity 给模型贴上照片

Unity将真实世界的照片贴图到模型上 原因 模拟仿真&#xff0c;直接使用照片肯定是效果最好的&#xff0c;省下做材质了 直接拖动即可 导入图片到Unity中将图片修改为Sprite模式直接将图片拖动到Scene面板的物体上即可 注意&#xff1a;是将图片拖动到Scene面板的物体上&a…

【Ubuntu】安装常用软件包

安装java 直接输入java&#xff0c;如果没有安装的话会提醒你输入命令安装&#xff0c;类似 Command java not found, but can be installed with: sudo apt install jdkxxxxxxxxxxxxxx然后选一个版本安装就好&#xff0c;我这里选的jdk17,安装完确认一下 ubuntuVM-4-13-ubu…

【深度学习】注意力机制介绍,了解什么是注意力计算规则以及常见的计算规则,知道注意力机制的工作流程

1注意力机制介绍 1.1 注意力概念 我们观察事物时&#xff0c;之所以能够快速判断一种事物(当然允许判断是错误的), 是因为我们大脑能够很快把注意力放在事物最具有辨识度的部分从而作出判断&#xff0c;而并非是从头到尾的观察一遍事物后&#xff0c;才能有判断结果. 正是基于…

动物检测系统源码分享

动物检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

el-tree父子不互相关联时,手动实现全选、反选、子级全选、清空功能

el-tree父子不互相关联时&#xff0c;手动实现全选、反选、子级全选、清空功能 1、功能实现图示 2、实现思路 当属性check-strictly为true时&#xff0c;父子节点不互相关联&#xff0c;如果需要全部选中或选择某一节点下的全部节点就必须手动选择每个节点&#xff0c;十分麻…

速卖通在哪些国家受欢迎?速卖通怎么选品?选品方式有哪些?

速卖通&#xff08;AliExpress&#xff09;是阿里巴巴集团旗下的一家跨境电商平台&#xff0c;也是全球第三大英文在线购物网站&#xff0c;为全球消费者提供了一个方便、多样化的购物平台&#xff0c;在中国跨境出口B2C平台中占据领先地位。相关数据统计&#xff0c;今年上半年…

砥砺前行 智护健康:衢州骨伤科医院建院十五周年庆典圆满启动

2024年9月12日&#xff0c;衢州骨伤科医院建院十五周年庆典圆满启动。作为邦尔骨科医院集团的第二家医院&#xff0c;衢州骨伤科医院创办于2009年&#xff0c;建院十五年来坚持集团宗旨与愿景&#xff0c;致力于将骨科领先技术和优质服务带给老百姓&#xff0c;现已成为区域领先…

input输入框之间有间隙的解决方案

1&#xff0c;浮动 浮动是处理元素排列方式的方法之一&#xff0c;使用浮动&#xff08;float&#xff09;可以帮助更好的排列元素位置 <p>源代码</p> <input type"text" name"name1" /> <input type"text" name"na…

JAVA宠物界的Uber同城遛狗兼职系统小程序源码

宠物界的Uber同城遛狗兼职系统&#xff0c;让爱宠自由奔跑&#xff01; &#x1f43e; 开篇&#xff1a;解锁宠物新生活方式 在这个快节奏的城市里&#xff0c;我们的爱宠是否也常常因为主人的忙碌而错失户外的欢乐时光&#xff1f;别担心&#xff0c;宠物界的“Uber”——同…

ArgoWorkflow教程(四)---Workflow 日志归档

上一篇我们分析了argo-workflow 中的 artifact&#xff0c;包括 artifact-repository 配置以及 Workflow 中如何使用 artifact。本篇主要分析流水线 GC 以及归档,防止无限占用集群中 etcd 的空间。 **【ArgoWorkflow 系列】**持续更新中&#xff0c;搜索公众号【探索云原生】订…

nlohmann::json中有中文时调用dump转string抛出异常的问题

问题描述 Winodows下C开发想使用一个json库&#xff0c;使用的nlohmann::json&#xff0c;但是遇到json中使用中文时&#xff0c;转成string&#xff0c;会抛出异常。 nlohmann::json contentJson;contentJson["chinese"] "哈哈哈";std::string test con…

从卫星和飞机等不同传感器方面由QGIS 遥感分析

在地理信息科学 (GIS) 中,遥感是指从远处获取有关地球表面特征信息的行为。遥感数据是从许多不同的平台获取而来,包括卫星、飞机和具有许多不同传感器的固定仪器,包括光谱图像(相机)和激光雷达。最常见的遥感数据形式是卫星和航空图像。 为了充分实现这些照片的价值,需要…

搜狗翻译+3款工具安利,让语言不再是加班路上的绊脚石

现在不管是开跨国会议、搞国际项目合作&#xff0c;还是平时发个邮件啥的&#xff0c;语言问题常常是让人加班的主要由头。不过还算幸运&#xff0c;随着科技不断发展&#xff0c;出现了一堆既高效又智能的翻译工具。这些工具老厉害了&#xff0c;不但能大大提升我们的工作效率…

线程--线程同步

这里写目录标题 同步概念线程同步概念数据混乱原因 互斥量原理锁的注意事项1、cpu时间轮片2、建议锁总结 使用锁来管理线程同步问题产生主要函数init、destorylock、unlock代码注意事项 条件变量二级目录二级目录二级目录 信号量二级目录二级目录二级目录 一级目录二级目录二级…

算法:数字化系统的智慧核心

在当今快速发展的数字化时代&#xff0c;算法在数字化系统中扮演着至关重要的角色。从数字孪生系统到物联网应用&#xff0c;算法不仅是技术进步的推动力&#xff0c;更是实现智能化、自动化的核心。本文将探讨数字化系统中算法的重要性&#xff0c;以及它们是如何被实现和集成…

spring容器创建bean过程中使用到的几个factory

文章目录 前述BeanFactoryFactoryBeanObjectFactory 前述 spring我们可以理解为一个帮我们管理bean的容器&#xff0c;使用spring框架之前创建bean都是通过new的方式&#xff0c;使用spring框架之后&#xff0c; 我们只需要告诉spring框架我们有那些bean&#xff0c;它会帮我们…

Linux:命令行参数

目录 一、命令行参数是什么&#xff1f; 二、命令行参数作用 三、命令行参数如何传递给main函数&#xff1f; 一、命令行参数是什么&#xff1f; C语言中的main函数&#xff0c;我们发现既可以带参数&#xff0c;也可以不带参数。带参数的main函数如下&#xff1a; 参数为一…

Matplotlib - Statistical Distribution作图

1. 前言 在数据分析和统计学中&#xff0c;绘制统计分布图是非常重要的&#xff0c;因为它帮助我们直观地理解数据的特性&#xff0c;并为进一步的分析提供基础。统计分布图能够揭示数据集的结构、趋势、集中趋势和离散程度等信息&#xff0c;从而使我们更容易做出合理的假设、…

监控系统添加vcenter上的esxi主机

监控系统的软件选择&#xff1a; 监控系统要求 快速搭建 能快捷地添加vcenter上的主机&#xff08;esxi&#xff09; 能实现动态添加主机监控 可供选择的监控软件 Prometheus vmware_exporter添加 vcenter及esxi监控&#xff0c;报奇怪的错误&#xff0c;解决时间比较长&a…

高阶数据结构之哈希表基础讲解与模拟实现

程序猿的读书历程&#xff1a;x语言入门—>x语言应用实践—>x语言高阶编程—>x语言的科学与艺术—>编程之美—>编程之道—>编程之禅—>颈椎病康复指南。 前言&#xff1a; 哈希表&#xff08;Hash Table&#xff09;是一种高效的键值对存储数据结构&…