Dataloader

1.去PyTorch官网上查找Dataloader的文档

使用测试集的原因是测试集样本数更少,运行起来时间会短一些(指用DataLoader遍历的时间):

python 复制代码
import torchvision

# 准备的测试数据集
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter

test_data = torchvision.datasets.CIFAR10("./dataset", train=False, transform=torchvision.transforms.ToTensor())

test_loader = DataLoader(dataset=test_data, batch_size=64, shuffle=True, num_workers=0, drop_last=False)

# 测试数据中的第一张图片
img, target = test_data[0]
print(img.shape)
print(target)

writer = SummaryWriter("dataloader")
step = 0
for data in test_loader:
    imgs, targets = data
    # print(imgs.shape)
    # print(targets)
    writer.add_images("test_data", imgs, step)
    step = step + 1

writer.close()

drop_last参数

windows系统下如果出现BrokenPipeError的错误,可以考虑将 num_workers设置为0

2.采样器默认是随机采样

python 复制代码
import torchvision

# 准备的测试数据集
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter

test_data = torchvision.datasets.CIFAR10("./dataset", train=False, transform=torchvision.transforms.ToTensor())

test_loader = DataLoader(dataset=test_data, batch_size=64, shuffle=True, num_workers=0, drop_last=True)

# 测试数据中的第一张图片
img, target = test_data[0]
print(img.shape)
print(target)

writer = SummaryWriter("dataloader")

for epoch in range(2):
    step = 0
    for data in test_loader:
        imgs, targets = data
        # print(imgs.shape)
        # print(targets)
        writer.add_images("Epoch:{}".format(epoch), imgs, step)
        step = step + 1

writer.close()

用TensorBoard展示图片

①注意要用add_images而不是之前用过的add_image

②一定要等到程序运行结束了再在Terminal(终端)里使用tensorboard命令,不然会出现图片加载不全的情况!可以在程序末尾加一行语句来打印程序结束。

相关推荐
清静诗意1 小时前
独立 IoT 客户端绕过 Django 生命周期导致数据库断链:诊断与修复
python·mysql·django·生命周期
不知更鸟4 小时前
Django 项目设置流程
后端·python·django
自动化代码美学5 小时前
【Python3.13】官网学习之控制流
开发语言·windows·python·学习
百锦再7 小时前
第18章 高级特征
android·java·开发语言·后端·python·rust·django
源码之家8 小时前
基于Python房价预测系统 数据分析 Flask框架 爬虫 随机森林回归预测模型、链家二手房 可视化大屏 大数据毕业设计(附源码)✅
大数据·爬虫·python·随机森林·数据分析·spark·flask
SalvoGao8 小时前
Python学习 | 怎么理解epoch?
数据结构·人工智能·python·深度学习·学习
楚疏笃9 小时前
纯Python 实现 Word 文档转换 Markdown
python·word
谅望者9 小时前
数据分析笔记08:Python编程基础-数据类型与变量
数据库·笔记·python·数据分析·概率论
mortimer9 小时前
【实战复盘】 PySide6 + PyTorch 偶发性“假死”?由多线程转多进程
pytorch·python·pyqt
清静诗意9 小时前
Django REST Framework(DRF)RESTful 最完整版实战教程
python·django·restful·drf