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

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

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 SummaryWritertest_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=datawriter.add_images("testdata",imgs,i)i=i+1
writer.close()

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C++:类与对象——详解继承、多继承、虚继承
  • SQL进阶技巧:每年在校人数统计 | 区间重叠问题
  • Python网络爬虫:如何高效获取网络数据
  • Python 基本库用法:数学建模
  • 黄仁勋的思维世界:Nvidia的AI和游戏之王
  • 论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS
  • C++当中的多态(三)
  • pytorch对不同的可调参数,分配不同的学习率
  • xxl-job
  • [C++]spdlog学习
  • P5735 【深基7.例1】距离函数
  • 【可测试性实践】C++ 单元测试代码覆盖率统计入门
  • 用go语言实现树和哈希表算法
  • (一)模式识别——基于SVM的道路分割实验(附资源)
  • Qt什么时候触发paintEvent事件
  • [Vue CLI 3] 配置解析之 css.extract
  • 「面试题」如何实现一个圣杯布局?
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • cookie和session
  • Docker下部署自己的LNMP工作环境
  • PHP 小技巧
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • python学习笔记 - ThreadLocal
  • React的组件模式
  • Swoft 源码剖析 - 代码自动更新机制
  • 当SetTimeout遇到了字符串
  • 翻译--Thinking in React
  • 基于游标的分页接口实现
  • 计算机在识别图像时“看到”了什么?
  • 开源地图数据可视化库——mapnik
  • 手机端车牌号码键盘的vue组件
  • 学习HTTP相关知识笔记
  • 1.Ext JS 建立web开发工程
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 关于Android全面屏虚拟导航栏的适配总结
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #每天一道面试题# 什么是MySQL的回表查询
  • (搬运以学习)flask 上下文的实现
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (九)信息融合方式简介
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他
  • (十) 初识 Docker file
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (五)网络优化与超参数选择--九五小庞
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)mysql使用Navicat 导出和导入数据库
  • .libPaths()设置包加载目录
  • .Net - 类的介绍
  • .NET delegate 委托 、 Event 事件,接口回调
  • .net mvc部分视图
  • .net 发送邮件