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

Pytorch学习 day06(torchvision中的datasets、dataloader)

torchvision的datasets

  • 使用torchvision提供的数据集API,比较方便,
  • 如果在pycharm中下载很慢,可以URL链接到迅雷中进行下载(有些URL链接在源码里)
  • 代码如下:
import torchvision  # 导入 torchvision 库
# 使用torchvision的datasets模块,模块中包含CIFAR10、CIFAR100、ImageNet、COCO等数据集
train_set = torchvision.datasets.CIFAR10("./Dataset", train = True, download = True)    # root 表示数据集的存储路径,train 表示是否是训练集,download 表示是否需要下载
test_set = torchvision.datasets.CIFAR10("./Dataset", train = False, download = True)
  • CIFAR10数据集的每个样本会输出一个元组,第一个元素是PIL格式的图片,第二个元素是该样本的标签,即class,代码如下:
import torchvision  # 导入 torchvision 库
# 使用torchvision的datasets模块,模块中包含CIFAR10、CIFAR100、ImageNet、COCO等数据集
train_set = torchvision.datasets.CIFAR10("./Dataset", train = True, download = True)    # root 表示数据集的存储路径,train 表示是否是训练集,download 表示是否需要下载
test_set = torchvision.datasets.CIFAR10("./Dataset", train = False, download = True)print(train_set[0])  # 输出训练集的第一个样本 ,输出为一个元组,第一个元素为PIL格式图片,第二个元素为标签,标签表示图片的类别,即class
print(train_set.classes) # 输出数据集的类别,即class
img, target = train_set[0]
print(img)  # 输出图片
print(target)  # 输出标签
print(train_set.classes[target])  # 输出训练集第一个样本图片的类别
  • 对数据集进行transforms变换
    • 注意,只需要在调用数据集API时,填入变换对象即可,由于dataset_transforms是Compose类实例化后的对象,所以直接传入即可,代码如下:
import torchvision  # 导入 torchvision 库
from torch.utils.tensorboard import SummaryWriterdataset_transforms = torchvision.transforms.Compose([torchvision.transforms.ToTensor(),  # 将PIL格式图片转换为Tensor格式
])  # Compose函数将多个transforms组合在一起# 使用torchvision的datasets模块,模块中包含CIFAR10、CIFAR100、ImageNet、COCO等数据集
train_set = torchvision.datasets.CIFAR10("./Dataset", train = True, transform=dataset_transforms, download = True)    # root 表示数据集的存储路径,train 表示是否是训练集,transform 表示对数据集进行的变换,download 表示是否下载数据集
test_set = torchvision.datasets.CIFAR10("./Dataset", train = False, transform=dataset_transforms, download = True)writer = SummaryWriter("logs")  # 实例化SummaryWriter类,参数log_dir表示日志文件的存储路径
for i in range(10):img, target = train_set[i]  writer.add_image("train_set_img", img, i) # 将图片写入tensorboardwriter.close()  # 关闭SummaryWriter对象
  • tensorboard的展示结果如下:
    在这里插入图片描述

torchvision中的dataloader

http://www.lryc.cn/news/313117.html

相关文章:

  • 腾讯云学生服务器详细介绍_学生服务器价格_学生机申请流程
  • 虚拟化之内存(Memory)
  • ospf虚链路实验简述
  • 全网最细,web自动化测试实战场景(滚动元素的滚动操作)直接上干g货......
  • Java特性之设计模式【过滤器模式】
  • Linux设备模型(十) - bus/device/device_driver/class
  • 性能问题分析排查思路之机器(3)
  • PostgreSQL安装教程
  • SLAM基础知识:前端和后端
  • 一文彻底搞懂从输入URL到显示页面的全过程
  • 好书安利:《大模型应用开发极简入门:基于GPT-4和ChatGPT》这本书太好了!150页就能让你上手大模型应用开发
  • 力扣题库第4题:移动零
  • Java解决IP地址无效化
  • [数据结构初阶]队列
  • MySQL学习Day27——MySQL事务日志
  • ETAS工具链ISOLAR-AB重要概念,RTE配置,ECU抽取
  • 蓝桥杯倒计时 43天 - 前缀和
  • 【Web - 框架 - Vue】随笔 - Vue的简单使用(01) - 快速上手
  • 【简说八股】Redisson的守护线程是怎么实现的
  • WPS/Office 好用的Word插件-查找替换
  • Go 简单设计和实现可扩展、高性能的泛型本地缓存
  • Vue.js 深度解析:模板编译原理与过程
  • Java多线程——如何保证原子性
  • stm32消息和邮箱使用
  • 银行数字化转型导师坚鹏:银行数字化转型案例研究
  • 142.乐理基础-音程的构唱练习
  • 【比较mybatis、lazy、sqltoy、mybatis-flex操作数据】操作批量新增、分页查询(二)
  • 每日OJ题_链表②_力扣24. 两两交换链表中的节点
  • C语言数据类型详解及相关题——各种奇奇怪怪的偏难怪
  • 经典语义分割(二)医学图像分割模型UNet