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")使得代码更具可移植性。
相关推荐
飞哥数智坊4 小时前
GPT-5-Codex 发布,Codex 正在取代 Claude
人工智能·ai编程
倔强青铜三4 小时前
苦练Python第46天:文件写入与上下文管理器
人工智能·python·面试
虫无涯5 小时前
Dify Agent + AntV 实战:从 0 到 1 打造数据可视化解决方案
人工智能
Dm_dotnet7 小时前
公益站Agent Router注册送200刀额度竟然是真的
人工智能
算家计算7 小时前
7B参数拿下30个世界第一!Hunyuan-MT-7B本地部署教程:腾讯混元开源业界首个翻译集成模型
人工智能·开源
机器之心8 小时前
LLM开源2.0大洗牌:60个出局,39个上桌,AI Coding疯魔,TensorFlow已死
人工智能·openai
Juchecar9 小时前
交叉熵:深度学习中最常用的损失函数
人工智能
林木森ai9 小时前
爆款AI动物运动会视频,用Coze(扣子)一键搞定全流程(附保姆级拆解)
人工智能·aigc
JuiceFS9 小时前
从 MLPerf Storage v2.0 看 AI 训练中的存储性能与扩展能力
运维·后端
聚客AI9 小时前
🙋‍♀️Transformer训练与推理全流程:从输入处理到输出生成
人工智能·算法·llm