Pytorch深度学习------torchvision中dataset数据集的使用(CIFAR10)

news2024/12/22 20:44:14

文章目录

      • 一、什么是TorchVision
      • 二、以torchvision.datasets子模块下的CIFAR10数据集为例
        • 1、CIFAR10数据集参数
        • 2、代码中使用

一、什么是TorchVision

torchvision是pytorch的一个图形库,用来处理图像,主要用来构建计算机视觉模型。

从下面的官网截图可以看到torchvision有很多模块,下面以dataset模块进行举例。
在这里插入图片描述

torchvision中datasets包:用来进行数据加载,主要有以下几个模块

CelebA
CIFAR
Cityscapes
COCO
Captions
Detection
DatasetFolder
EMNIST
FakeData
Fashion-MNIST
Flickr
HMDB51
ImageFolder
ImageNet
Kinetics-400
KMNIST
LSUN
MNIST
Omniglot
PhotoTour
Places365
QMNIST
SBD
SBU
STL10
SVHN
UCF101
USPS
VOC

二、以torchvision.datasets子模块下的CIFAR10数据集为例

在这里插入图片描述
从上图可知:

CIFAR-10数据集由60000张32 × 32彩色图像组成,分为10个类,每个类有6000张图像。有50000张训练图像和10000张测试图像。
数据集分为5个训练批次和1个测试批次,每个批次有10000张图像。测试批包含从每个类随机选择的1000个图像。训练批次以随机顺序包含剩余的图像,但一些训练批次可能包含来自一个类的更多图像。在它们之间,训练批次包含来自每个类的5000张图像。

1、CIFAR10数据集参数

class CIFAR10(VisionDataset):
    """`CIFAR10 <https://www.cs.toronto.edu/~kriz/cifar.html>`_ Dataset.

    Args:
        root (string): Root directory of dataset where directory
            ``cifar-10-batches-py`` exists or will be saved to if download is set to True.
        train (bool, optional): If True, creates dataset from training set, otherwise
            creates from test set.
        transform (callable, optional): A function/transform that takes in an PIL image
            and returns a transformed version. E.g, ``transforms.RandomCrop``
        target_transform (callable, optional): A function/transform that takes in the
            target and transforms it.
        download (bool, optional): If true, downloads the dataset from the internet and
            puts it in root directory. If dataset is already downloaded, it is not
            downloaded again.

    """

由上述代码可知,有如下5个参数
root :即指定数据集要下载在哪一个文件夹里面,如:root=“./dataset” 即将数据集下载到当前目录的dataset文件夹下
train :是否为训练集,布尔类型,如果train=True即为训练集,否则train=False则为非训练集。
transform :进行图像变换的各种操作,如RandomCrop、Compose等。
target_transform :对于标签进行transform 操作。
download :是否下载数据集,download = True表示下载数据集,download = False表示不下载数据集。(如果当前文件夹已经有需要下载的数据集,但是在程序编写中又把download属性值设定为True,此时不会再下载。)

2、代码中使用

import torchvision
from torch.utils.tensorboard import SummaryWriter

# 创建训练数据集
# step1 准备创建数据集需要的各种参数
trans_tool = torchvision.transforms.Compose([
    torchvision.transforms.ToTensor()  # 转为Tensor类型
    # torchvision.transforms.Resize((5, 5))  # 进行大小裁剪
])
# 第一个参数root表示下载的数据集需要放在哪一个文件夹里面,第二个参数tran表示是否是训练数据集,第三个参数transform表示进行变换操作,第四个参数download表示是否在线下载
tran_dataset = torchvision.datasets.CIFAR10(root="./dataset",train=True,transform=trans_tool,download=True)
# 创建测试数据集
test_dataset = torchvision.datasets.CIFAR10(root="./dataset",train=False,transform=trans_tool,download=True)
print(tran_dataset[0])  # 此时显示的是(<PIL.Image.Image image mode=RGB size=32x32 at 0x259A43BA350>, 6),即元组的形式,显示图片类别和标签
# step2 在tensorboard中显示

writer = SummaryWriter("logs")
for i in range(10):
    img, laber = tran_dataset[i]
    writer.add_image("CIFAR10",img,i)
writer.close()

在这里插入图片描述

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

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

相关文章

力扣1114.按序打印-----题目解析

题目描述 解析&#xff1a; class Foo {public int a 0;public Foo() {}public void first(Runnable printFirst) throws InterruptedException {// printFirst.run() outputs "first". Do not change or remove this line.printFirst.run();a;}public void second…

【多任务编程-线程通信】

进程/线程通信的方式 某些应用程序中&#xff0c;进程/进程和线程/线程之间不可避免的进行通信&#xff0c;进行消息传递&#xff0c;数据共享等 同一进程的线程之间通信方式包括Windows中常用Event, Message等。 不同进程之间的通信可以利用Event, FileMapping(内存共享), W…

unity进阶--xml的使用学习笔记

文章目录 xml实例解析方法一解析方法二 xml-path创建xml文档 xml实例 解析方法一 解析方法二 xml-path 创建xml文档

测试用例实战

测试用例实战 三角形判断 三角形测试用例设计 测试用例编写 先做正向数据&#xff0c;再做反向数据。 只要有一条边长为0&#xff0c;那就是不符合要求&#xff0c;不需要再进行判断&#xff0c;重复。 四边形 四边形测试用例

Javascript程序异常处理

什么是异常&#xff0c;异常就是我们在编写Javascript程序时出现的一些错误&#xff0c;并会在控制台中抛出这个错误&#xff0c;出现异常其实并不是一件坏事&#xff0c;相对的呢它可以提醒我们开发人员哪里出现了错误&#xff0c;方便我们后续的修改&#xff0c;能让我们的代…

JRebel+XRebel热部署插件激活支持IDEA2023.1

JRebel是一款JVM插件&#xff0c;它使得Java代码修改后不用重启系统&#xff0c;立即生效。IDEA上原生是不支持热部署的&#xff0c;一般更新了 Java 文件后要手动重启 Tomcat 服务器&#xff0c;修改才能生效&#xff1b;所以推荐使用 JRebel 插件进行热部署。 在填入Team UR…

字符串类QString

字符串类QString 构造函数数据操作字符串查找和判断遍历查看字节数类型转换字符串格式 Qt中不仅支持C, C中的字符串类型, 而且还在框架中定义了专属的字符串类型。 Cchar*Cstd::string, char*QtQByteArray, QString QByteArray QString和QByteArray的函数很多都是相似的。。…

Feign远程调用如何携带form url

这是一个需要携带参数在form url上的请求&#xff0c;正常调用方式是这样的 响应&#xff1a; 在Feign中&#xff0c;应该怎么调用呢?? 定义OpenFeignClient接口 FeignClient(value "client-service", url "http://127.0.0.1/api") public interface…

Acwing.897 最长公共子序列(动态规划)

题目 给定两个长度分别为N和M的字符串A和B&#xff0c;求既是A的子序列又是B的子序列的字符串长度最长是多少。 输入格式 第一行包含两个整数N和M。 第二行包含一个长度为N的字符串&#xff0c;表示字符串A。 第三行包含一个长度为M的字符串&#xff0c;表示字符串B。字符串…

RunnerGo相比较JMeter有哪些优势

当谈到性能测试需求时&#xff0c;JMeter和RunnerGo都提供了丰富的功能&#xff0c;包括测试场景设置、执行性能测试和性能测试结果分析。然而&#xff0c;这两工具在结构方面存在一些区别。以下是对它们进行比较的另一种角度&#xff1a; 模块化设计&#xff1a; JMeter采用…

16K个大语言模型的进化树;81个在线可玩的AI游戏;AI提示工程的终极指南;音频Transformers课程 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f916; LLM 进化树升级版&#xff01;清晰展示 15821 个大语言模型的关系 这张进化图来自于论文 「On the Origin of LLMs: An Evolutionary …

基于压缩和差分算法的嵌入式平台远程更新设计与分析

传统的嵌入式远程更新方案普遍采用整包更新方式&#xff0c;这种方式更新数据量大&#xff0c;占用网络带宽时间长&#xff0c;同时也增加了设备的功耗。 针对这些问题&#xff0c;提出了以减少更新数据量为核心的两种远程更新方案。这两种方案分别使用LZ77压缩和BSDiff差分算…

【Linux】passwd

passwd 与 root 不同的是&#xff0c;一般帐号在更改密码时需要先输入自己的旧密码 &#xff08;亦即 current 那一行&#xff09;&#xff0c;然后再输入新密码 &#xff08;New 那一行&#xff09;。 要注意的是&#xff0c;密码的规范是非常严格的&#xff0c;尤其新的 dist…

《互联网引流:如何吸引更多用户并实现商业目标?》

互联网引流是当今数字时代中&#xff0c;企业和个人在互联网上推广自己产品、服务或内容的一种重要手段。随着互联网的普及和发展&#xff0c;越来越多的企业意识到了利用互联网引流来吸引潜在用户的重要性。 互联网引流的目标是通过各种策略和手段&#xff0c;将潜在用户转化…

Android 在程序运行时申请权限——以自动拨打电话为例

Android 6.0及以上系统在使用危险权限时必须进行运行时权限处理。 main_activity.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://sche…

WordPress集成Argon主题[CentOS7]

下载 Argon主题 https://gitcode.net/mirrors/solstice23/argon-theme/-/releases/v1.3.5?spm1033.2243.3001.5876配置并安装Argon主题 mkdir -p /home/wwwroot/default/wordpress/wp-content/uploads/ cd /home/wwwroot/default/wordpress/wp-content/uploads/# 上传并解压…

echarts自定义tooltip,给tooltip增加百分号%

1.formatter为回调函数&#xff1a; 支持返回 HTML 字符串或者创建的 DOM 实例。 (params: Object|Array, ticket: string, callback: (ticket: string, html: string)) > string | HTMLElement | HTMLElement[] 在 trigger 为 ‘axis’ 的时候&#xff0c;或者 tooltip 被…

LiveGBS流媒体平台GB/T28181常见问题-token有效期是多久如何设置token有效期有效时间接口调用token的有效时长

LiveGBS常见问题如何设置TOKEN有效时间接口调用token的有效时长 1、TOKEN有效期2、默认token有效期3、配置token_key4、如何配置一直有效的token5、动态有效期6、搭建GB28181视频直播平台 1、TOKEN有效期 调用登陆接口后&#xff0c;会获得一个token&#xff0c;默认的有效期是…

PCB封装设计指导(十四)保存并产生device文件

PCB封装设计指导(十四)保存并产生PSM和device文件 封装命名完成之后,基本上封装的建立也接近结束,如果调网表使用的是第三方网表,还需要device文件才能调入。 但是PSM文件是不管第一方和第三方网表都是需要的,下面介绍如何产生这两个文件。 打开封装文件,如下图点击Fil…

深入理解 Linux 文件系统:从根目录到用户主目录

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…