码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • PyTorch(四)Torchvision 与 Transforms


    文章目录

      • Log
    • 一、Torchvision
      • 1. CIFAR10
        • ① 介绍
        • ② 使用
      • 2. 与 Transforms 结合使用
    • 总结


    Log

    2022.11.28接着开启新的一章
    2022.11.29继续学习


    一、Torchvision

    • 视频教程中 Torchvision v0.9.0文档
    • Torchvision 官方文档
    • Torchvision Datasets API 文档

    1. CIFAR10

    ① 介绍

    • CIFAR10数据集介绍
    • 该数据集包括 60,000 张 32×32 像素的彩色图片,共有 10 个类别,每个类别有 6,000 张图像
    • 50,000 张是训练图片,10,000 张是测试图片
    • 图片示例如下:
      在这里插入图片描述

    ② 使用

    • 加载训练集和测试集:
    import torchvision
    
    train_set = torchvision.datasets.CIFAR10(root="../dataset/CIFAR10", train=True, download=True)
    test_set = torchvision.datasets.CIFAR10(root="../dataset/CIFAR10", train=False, download=True)
    
    • 1
    • 2
    • 3
    • 4
    • 其中的参数:
      • root:数据集的路径
      • train:如果为 True 则创建数据集,如果为 False 则创建测试集
      • download:为 True 则从网络上下载数据集到 root 路径下,如果该路径下已有数据集则不进行下载。
    • 输出测试集中的第一个:
    print(test_set[0])
    
    • 1
    • 得到:(, 3)。其中 3 代表的是该测试样例对应的映射到整数上的类别
    • 查看对应的类别:
    print(test_set.classes)
    ['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']
    
    • 1
    • 2
    • 将测试样例的图片和标签分开输出:
    img, target = test_set[0]
    print(img)		#
    print(target)	#3
    
    • 1
    • 2
    • 3
    • 先查看图片:
    img.show()
    
    • 1
    • 由于该数据集的图片是 32×32 像素的,所以不是很清晰:
      在这里插入图片描述

    • 再查看对应的类别的名称:

    print(test_set.classes[target])	# cat
    
    • 1

    2. 与 Transforms 结合使用

    • 在创建数据集的时候新增一个参数,用到上一章学到的内容将原始的 PIL 类型的图片转换成 ToTensor 类型的图片:
    dataset_transform = torchvision.transforms.Compose([
        torchvision.transforms.ToTensor()
    ])
    train_set = torchvision.datasets.CIFAR10(root="../dataset/CIFAR10", train=True, transform=dataset_transform, download=True)
    test_set = torchvision.datasets.CIFAR10(root="../dataset/CIFAR10", train=False, transform=dataset_transform, download=True)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 之后就可以将 ToTensor 类型的图片显示到 tensorboard 中了:
    writer = SummaryWriter("log-CIFAR10")
    for i in range(10):
        img, target = test_set[i]
        writer.add_image("test_set-CIFAR10", img, i)
    writer.close()
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述


    总结

    • 本文以 C I F R 10 \rm CIFR10 CIFR10 为例介绍了 T o r c h v i s i o n \rm Torchvision Torchvision 中数据集的使用方法,以及如何结合 T r a n s f o r m s \rm Transforms Transforms 使用数据集。
  • 相关阅读:
    【算法挨揍日记】day29——139. 单词拆分、467. 环绕字符串中唯一的子字符串
    基于reactor设计http服务器
    聊聊druid的borrow行为
    操作系统分类及Linux
    Cocos Creator3.8 项目实战(九)2D UI DrawCall优化详解(下)
    实战:实现一个LRU
    Functional equation (L-function)
    DeepWalk: Online Learning of Social Representations(2014 ACM SIGKDD)
    Azure 机器学习:MLOps - 使用 Azure 机器学习进行模型管理、部署和监视
    学习@Transaction异常自动回滚以及手动回滚和回滚部分SQL服务
  • 原文地址:https://blog.csdn.net/weixin_53312629/article/details/127562083
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号