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命令,不然会出现图片加载不全的情况!可以在程序末尾加一行语句来打印程序结束。

相关推荐
Evand J7 分钟前
【Python代码例程】长短期记忆网络(LSTM)和无迹卡尔曼滤波(UKF)的结合,处理复杂非线性系统和时间序列数据
python·lstm·滤波
workflower1 小时前
易用性和人性化需求
java·python·测试用例·需求分析·big data·软件需求
嚯嚯歪1 小时前
攻克腾讯 TCaptcha 滑块验证码:纯 HTTP 协议逆向实战
爬虫·python·逆向·验证码识别
じ☆冷颜〃1 小时前
随机微分层论:统一代数、拓扑与分析框架下的SPDE论述
笔记·python·学习·线性代数·拓扑学
程序员敲代码吗2 小时前
提升Python编程效率的五大特性
开发语言·python
List<String> error_P3 小时前
Python蓝桥杯常考知识点-模拟
开发语言·python·蓝桥杯
比奇堡鱼贩3 小时前
python第五次作业
开发语言·前端·python
码农小韩4 小时前
AIAgent应用开发——DeepSeek分析(二)
人工智能·python·深度学习·agent·强化学习·deepseek
喵手4 小时前
Python爬虫实战:构建一个高健壮性的图书数据采集器!
爬虫·python·爬虫实战·零基础python爬虫教学·构建图书数据·采集图书数据·图书数据采集
张3蜂5 小时前
Python venv 详解:为什么要用、怎么用、怎么用好
开发语言·python