Torchvision.dataset CIFAR等数据集使用

复制代码
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])###我们通过输出测试集的第一个内容,得到一个样本包含的内容:(图像,标签)
print(test_set.classes)
img,target = test_set[0]
print(img)
print(target)
复制代码
我们通过输出测试集的第一个内容,得到一个样本包含的内容:(图像,标签)

数据集内容赋值

然后一次性地将这两个元素分别赋值给imgtarget变量。

复制代码
img,target = test_set[0]

print(test_set.classes[target])

Dataset 与Transforms 合理合并使用

复制代码
import torchvision
dataset_transforms = torchvision.transforms.Compose([
    torchvision.transforms.ToTensor(),
    torchvision.transforms.RandomCrop(18)
])
train_set = torchvision.datasets.CIFAR10(root="./dataset",train=True,transform=dataset_transforms,download=True)
test_set = torchvision.datasets.CIFAR10(root="./dataset",train=False,transform=dataset_transforms,download=True)
print(test_set[0])

使用Tensorboard 检视数据集图像

创建一个SummaryWriter对象,用于写入TensorBoard日志。"p10"是日志文件的保存路径

复制代码
writer = SummaryWriter("p10")
  1. for i in range(10):

    • 循环遍历测试集的前10个样本
  2. img, target = test_set[i]

    • 从测试集中获取第i个样本的图像和标签
  3. writer.add_image("Testset前十张图片", img, i)

    • 将图像添加到TensorBoard日志中
    • "Testset前十张图片"是图像组的名称
    • img是图像数据
    • i是图像的步骤(step)或索引

    for i in range(10):
    img,target = test_set[i]
    writer.add_image("Testset前十张图片",img,i)

add_image定义:

复制代码
def add_image(
        self, tag, img_tensor, global_step=None, walltime=None, dataformats="CHW"
    ):

目录设置

目录的设置 root="./dataset" 有特定的含义和用途:

  1. ./ 表示当前目录:

    在这个上下文中,它指的是你运行Python脚本的目录。

  2. dataset 是一个文件夹名:

    这表示数据集将被下载并存储在当前目录下名为 "dataset" 的文件夹中。

  3. 相对路径的优势:

    • 使用相对路径 "./dataset" 而不是绝对路径(如 "C:/Users/YourName/dataset")使得代码更具可移植性。
相关推荐
yuanyuan2o21 分钟前
【深度学习】全连接、卷积神经网络
人工智能·深度学习·cnn
八零后琐话6 分钟前
干货:Claude最新大招Cowork避坑!
人工智能
历程里程碑9 分钟前
Linux20 : IO
linux·c语言·开发语言·数据结构·c++·算法
郝学胜-神的一滴11 分钟前
深入浅出:使用Linux系统函数构建高性能TCP服务器
linux·服务器·开发语言·网络·c++·tcp/ip·程序人生
承渊政道14 分钟前
Linux系统学习【Linux系统的进度条实现、版本控制器git和调试器gdb介绍】
linux·开发语言·笔记·git·学习·gitee
技术路上的探险家15 分钟前
Ubuntu下Docker与NVIDIA Container Toolkit完整安装教程(含国内源适配)
linux·ubuntu·docker
代码AC不AC19 分钟前
【Linux】深入理解缓冲区
linux·缓冲区·标准错误
Doro再努力23 分钟前
【Linux操作系统12】Git版本控制与GDB调试:从入门到实践
linux·运维·服务器·git·vim
汗流浃背了吧,老弟!24 分钟前
BPE 词表构建与编解码(英雄联盟-托儿索语料)
人工智能·深度学习
软件聚导航32 分钟前
从 AI 画马到马年红包封面,我还做了一个小程序
人工智能·chatgpt