torchvision中的数据使用

1、下载数据集

在pytorch官网中找到docs选择Domains,在该页面中有各种数据类型的数据集

在左边菜单栏中选择datasets

python 复制代码
import torchvision
train_set=torchvision.datasets.CIFAR10(root='/data',train=True,download=True)
test_set=torchvision.datasets.CIFAR10(root='./data',train=False,download=True)

2、Dataloader的使用

Dataloader参数介绍

  • dataset :加载的数据集,必须是 torch.utils.data.Dataset 的子类实例。

  • batch_size:每个批次的数据样本数,默认值为1。

  • shuffle:是否在每个周期开始时打乱数据,默认为 False。

  • sampler:定义从数据集中抽取样本的策略,如果指定,则忽略 shuffle 参数。

  • num_workers:用于数据加载的子进程数量,默认为0,表示数据将在主进程中加载。

  • collate_fn:如何将多个数据样本整合成一个批次,通常不需要指定。

  • pin_memory:如果为 True,会将数据放置到 GPU 上去,默认为 False。

  • drop_last:如果数据集大小不能被批次大小整除,是否丢弃最后一个不完整的批次,默认为 False。

python 复制代码
test_loader=DataLoader(dataset=test_set,batch_size=4,shuffle=True,num_workers=0,drop_last=False)
#获取一张图片的信息
img,target=test_set[0]
print(img.shape)
print(target)

writer=SummaryWriter("dataloader")
#taet_loader是一个迭代对象,用for循环进行迭代
step=0
for data in test_loader:
    imgs,targets=data
    # print(imgs.shape)
    # print(targets)
    writer.add_image("test_data",imgs,step,dataformats='NCHW')
    step+=1

writer.close()

添加轮次

python 复制代码
for epoch in range(2):
    step=0
    for data in test_loader:
        imgs,targets=data
        # print(imgs.shape)
        # print(targets)
        writer.add_image("Epoch:{}".format(epoch),imgs,step,dataformats='NCHW')
        step+=1
相关推荐
民乐团扒谱机4 分钟前
【微实验】NSGA-II(非支配排序遗传算法)——解决多目标优化问题的“自然选择模拟器”
linux·人工智能·算法
怎么全是重名1 小时前
VerdictAD
人工智能·异常检测·few-shot·zsas·异常分割
Bode_20021 小时前
具身智能机构设计的质量控制
人工智能
阿里云大数据AI技术1 小时前
EMR Serverless StarRocks × Lance:多模态分析与检索的云上实践
人工智能
SelectDB1 小时前
数据不能出境的数仓选型与迁移落地:四问框架、可复算成本与迁移三段式
人工智能
李青菜2 小时前
一个人 + AI,用 Tauri 2 和 Rust 写了个开源的 Windows 效率工具:提醒 + 笔记 + 启动器
人工智能
泯泷2 小时前
做 AI 产品,路线图该数“实验”,而不是数“功能”
人工智能·llm·产品
百度Geek说2 小时前
AI 内容核查怎么做:智能内容 AI 核查系统实践
人工智能
武子康2 小时前
Qwen-Drive 到底是什么:4B 级 VLM 如何成为驾驶策略底座
人工智能·算法·机器学习