【学习笔记】【Pytorch】四、torchvision中的数据集使用

news2025/2/24 4:22:33

【学习笔记】【Pytorch】四、torchvision中的数据集使用

  • 学习地址
  • 主要内容
    • 一、datasets模块介绍
    • 二、datasets.CIFAR10类的使用
      • 1.使用说明
      • 2.代码实现

学习地址

PyTorch深度学习快速入门教程【小土堆】.

主要内容

一、datasets模块介绍
介绍:一些加载数据的函数及常用的数据集接口。
二、datasets.CIFAR10类的使用
作用:CIFAR-10数据集的加载和数据处理。

一、datasets模块介绍

Pytorch官网:torchvision.datasets介绍
介绍:一些加载数据的函数及常用的数据集接口。

from torchvision import datasets

datasets文件夹
在这里插入图片描述

二、datasets.CIFAR10类的使用

CIFAR-10官网:CIFAR-10数据集介绍
图片
作用:CIFAR-10数据集的加载和数据处理。

1.使用说明

【实例化】transforms.Normalize(root: str,
train: bool = True,
transform: Optional[Callable] = None,
target_transform: Optional[Callable] = None,
download: bool = False,
)

  • 作用:创建一个CIFAR-10数据集的实例
  • root:数据集的根目录,如果download设置为True,则将保存到该目录。
  • train:如果为True,则从训练集创建数据集,否则(即为Flase)从测试集创建。
  • transform:接受PIL图像并返回变换后图像的function/transform。
    E.g, transforms.RandomCrop
  • download:如果为true,则从internet下载数据集并将其放在根目录中。如果数据集已下载,则不会再次下载。
  • 例子:
dataset_trans = transforms.Compose([
    transforms.ToTensor()
])  # 创建一个 Compose 实例

# 创建 CIFAR10 实例(注:初始为PIL图片)
train_set = datasets.CIFAR10(root="./dataset", transform=dataset_trans, train=True, download=True)

【查看数据】

print(test_set[0])  # 打印第一张图片信息 Tensor Image(注:为经过ToTensor前是PIL Image)

img, target = test_set[0]  # 第一个参数为Tensor数据,第二个参数为类别索引
print(test_set.classes)
# ['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']
print(test_set.classes[target])  # 'cat'

2.代码实现

from torch.utils.tensorboard import SummaryWriter
from torchvision import transforms, datasets


dataset_trans = transforms.Compose([
    transforms.ToTensor()
])  # 创建一个 Compose 实例

# .代表当前目录;./根目录,../向上2个根目录
# 创建 CIFAR10 实例(注:初始为PIL图片)
train_set = datasets.CIFAR10(root="./dataset", transform=dataset_trans, train=True, download=True) 
test_set = datasets.CIFAR10(root="./dataset", transform=dataset_trans, train=False, download=True)

print(test_set[0])  # 打印第一张图片信息 Tensor Image(注:为经过ToTensor前是PIL Image)

img, target = test_set[0]  # 第一个参数为Tensor数据,第二个参数为类别索引
print(test_set.classes)
# ['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']
print(test_set.classes[target])  # 'cat'

writer = SummaryWriter("dataset_logs")  # 创建一个SummaryWriter实例
for i in range(10):
    img, target = test_set[i]
    writer.add_image("test_set", img, i)  # 在TensorBoard中添加图片

writer.close()  # 一定要把读写关闭,否则TensorBoard中不显示图片

控制台输出

Files already downloaded and verified
Files already downloaded and verified

(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]]]), 3)
['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']

cat

TensorBoard输出
在这里插入图片描述

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

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

相关文章

P6:DataLoader的使用

1、准备数据集(测试集) import torchvisiontest_data torchvision.datasets.CIFAR10(./dataset, trainFalse, transformtorchvision.transforms.ToTensor()) 注意数据集中的图片是PIL的格式,需要格式转换。 2、使用DataLoader from torch…

HBase数据库总结(一)

1、 HBase的特点是什么?HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。1)大:一个表可以有数十亿行,上百万列2&…

测试开发基础|一文搞定计算机网络(一)

计算机网络知识对测试人员来说是非常重要的基础技能。无论是在平时测试工作中(比如接口测试),还是测试技术面试时,都会经常涉猎。很多基础薄弱的同学靠临时抱佛脚突击搜索学习,对系统知识和重点难点的理解总是不够透彻…

认证授权-SpringSecurity

认证授权-SpringSecurity 1. 认证授权概述 1.1 认证授权概念 1.1.1 认证 在互联网中,我们每天都会使用到各种各样的 APP 和网站,在使用过程中通常还会遇到需要注册登录的情况,输入你的用户名和密码才能正常使用,也就是说成为这…

uniapp引入vantweapp踩坑笔记

vue-cli创建uniapp项目引入vantweapp踩坑笔记 uni-app中引入vantweappvue-cli创建uniapp项目引入vantweapp踩坑笔记一、环境准备二、项目搭建三、引入vant第一种方式第二种方式一、环境准备 我用的环境分别是 软件名称版本号下载命令\链接检查是否成功卸载命令Vue-clivue/cli…

JavaScript中的重要概念

JavaScript中的重要概念 1、标识符 标识符(Identifier)就是名字。JavaScript 中的标识符包括变量名、函数名、参数名、属性名、类名等。 合法的标识符应该注意以下强制规则: 第一个字符必须是字母、下划线(_)或美元…

发表计算机SCI论文,需要经历哪些阶段? - 易智编译EaseEditing

想在SCI期刊上发表一篇属于自己的论文一定是要经历四个阶段:论文选题、论文写作、期刊投稿和修稿反馈。 1.论文选题:前面已经说过在SCI期刊上发表论文是比较有难度的,是因为SCI期刊通常要求所接收稿件的选题具有较高的创新性和新颖性。 所以…

马蹄集 单位矩阵

单位矩阵 难度&#xff1a;白银 0时间限制&#xff1a;1秒 巴占用内存&#xff1a;64M 输入3X3的整型矩阵A,判断是否为单位矩阵&#xff0c;输出YES或者NO。 格式 输入格式&#xff1a;输入矩阵&#xff0c;空格分隔 输出格式&#xff1a;输出YES或者NO #include<bits/stdc.…

第09讲:Docker镜像制作

我们可以在容器去部署应用&#xff0c;然后把容器转为镜像给测试人员用&#xff0c;由于镜像是不能直接传输的&#xff0c;所以我们将新的镜像转成压缩文件&#xff0c;给测试人员。测试人员把我们的压缩文件还原成一个新的镜像。 一、Linux文件系统组成 Linux文件系统组成由…

mysql快速生成100W条测试数据(2)公司员工信息

首先这个就是我们需要生成的数据类型&#xff0c;这种只是我们用于测试以及学习时候使用&#xff0c;正常来讲公司架构会比这个要复杂的多 #mermaid-svg-fxDINAOpv25PiDLG {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid…

数据库,计算机网络、操作系统刷题笔记31

数据库&#xff0c;计算机网络、操作系统刷题笔记31 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学生都得去找开发&#xff0c;测开 测开的话&#xff0c;你就得学数据库&#xff0c;sql&#xff0c;oracle…

SpringBoot中JPA的基本使用

1、Jpa 是什么 JPA顾名思义就是Java Persistence API的意思&#xff0c;是JDK 5.0注解或XML描述对象&#xff0d;关系表的映射关系&#xff0c;并将运行期的实体对象持久化到数据库中。 2、优势 2.1标准化 JPA 是 JCP 组织发布的 Java EE 标准之一&#xff0c;因此任何声称符…

美国空运专线 美国空运专线时效多久

美国空运专线是国内到美国的优势渠道&#xff0c;为跨境卖家专门研发的货物海关清关快递/卡车配送的专线运输服务&#xff0c;范畴覆盖全部美国地区&#xff0c;各路经安排发货次数更高一些&#xff0c;时效更有保障。一、美国空运专线是什么 美国空运专线是专门将货物运送到美…

开学季如何运营跑腿系统?

现在学生们都在放寒假中&#xff0c;再过一段时间就又到开学季了&#xff0c;开学季是运营好跑腿项目的关键时刻&#xff0c;刚开学的时候如何让同学继续使用呢&#xff1f;这时候我们可以采取一些优惠政策来吸引同学&#xff0c;我们可以在后台设置一些优惠券&#xff0c;满减…

nacos1.4.0与seata搭建实现分布式物

下载nacos https://github.com/alibaba/nacos/tagshttps://github.com/alibaba/nacos/releases/tag/1.4.0下载seata https://github.com/seata/seata/releases/tag/v1.4.0注意&#xff1a;最好使用相同版本&#xff0c;不然出问题会找很久的 创建seata数据库 1.创建数据库导…

Termius ssh ubuntu、kali、centos

目录Termius ssh ubuntu、centos、kali一、Ubuntu开启ssh服务及允许root登录1、Ubuntu默认没有安装ssh的server&#xff0c;需要安装2、允许远程使用root账号ssh连接本机修改/etc/ssh/sshd_config文件3、需要重启系统或者ssh服务&#xff0c;刚安装完ssh-sserver服务默认开启4、…

【自然语言处理】实验1答案:Word2Vec TransE案例

NLP_class 学堂在线《自然语言处理》实验课代码报告&#xff0c;授课老师为刘知远老师。课程链接&#xff1a;https://www.xuetangx.com/training/NLP080910033761/1017121?channeli.area.manual_search。 持续更新中。 所有代码为作者所写&#xff0c;并非最后的“标准答案…

MyBatisPlus-注解的使用

注解 | MyBatis-PlusMyBatis-Plus 官方文档https://baomidou.com/pages/223848/#idtype因为在MyBatisPlus中都是通过实体类映射到数据库的字段中&#xff0c;所以处理好实体类与数据库表中字段的映射关系就很重要&#xff0c;MyBatisPlus提供的注解可以解决数据库中表名、字段名…

简道云教学 | 零代码应用开发软件助力应用型高校学生创新能力培养

“高校的数字化转型两大抓手&#xff0c;一个是学校管理系统的数字化建设&#xff0c;另一个是学生数字化素养的提升&#xff0c;简道云在我校信息化管理中的广泛应用是我们使用零代码平台进行创新能力培养的良好基础。” ————河南工学院 刘丹教授 河南工学院位于豫北工业名…

CSS初级教程(图例-链接-列表-表格)【第八天 完】

文章目录【1】CSS 图标【2】CSS 链接【3】CSS 列表【4】所有 CSS 列表属性【5】CSS 表格【6】CSS 所有表格属性CSS上回学习链接 CSS初级教程 颜色【第一天】 CSS初级教程 背景【第二天】 CSS初级教程 边框【第三天】 CSS初级教程 边距、高度、宽度【第四天】 CSS初级教程(轮廓…