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")使得代码更具可移植性。
相关推荐
九河云9 小时前
软件开发平台 DevCloud
运维·服务器·数据库·科技·华为云
思麟呀10 小时前
Linux的基础IO流
linux·运维·服务器·开发语言·c++
兴趣使然黄小黄11 小时前
【AI-agent】LangChain开发智能体工具流程
人工智能·microsoft·langchain
出门吃三碗饭11 小时前
Transformer前世今生——使用pytorch实现多头注意力(八)
人工智能·深度学习·transformer
winner888111 小时前
嵌入式Linux驱动开发全流程:工具协作+核心概念拆解(从入门到理解)
linux·运维·驱动开发
ShiinaKaze11 小时前
fatal error: bits/c++config.h: No such file or directory
linux·gcc·g++
l1t11 小时前
利用DeepSeek改写SQLite版本的二进制位数独求解SQL
数据库·人工智能·sql·sqlite
说私域11 小时前
开源AI智能名片链动2+1模式S2B2C商城小程序FAQ设计及其意义探究
人工智能·小程序
TTBIGDATA12 小时前
【Ambari开启Kerberos】KERBEROS SERVICE CHECK 报错
大数据·运维·hadoop·ambari·cdh·bigtop·ttbigdata
Archy_Wang_112 小时前
脚本自动生成专业Linux巡检报告
linux·运维·服务器