PyTorch快速入门教程【小土堆】之DataLoader的使用

视频地址DataLoader的使用_哔哩哔哩_bilibili

dataset数据集,相当于一副扑克,dataloader数据加载器相当于我们的手,选择摸几张牌,怎么摸牌

python 复制代码
import torchvision

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

test_data = torchvision.datasets.CIFAR10(root="./dataset", train=False, transform=torchvision.transforms.ToTensor()
                                         )  # root为数据集放置位置,train为true说明训练集,transform为ToTensor方法,将图片转化为tensor格式

test_loader = DataLoader(dataset=test_data, batch_size=4, shuffle=True, num_workers=0,
                         drop_last=False)  # 每批次取4个数据,shuffle为true说明每次选取的数据要相同,num_workers为0说明只选择主进程加载,多个进程会加载更快,但在window下>0有可能会报错,取数据时有可能最后余下几个drop_last为true,则舍去

# 测试数据集中第一张图片及target
img, target = test_data[0]
print(img.shape)  # torch.Size([3, 32, 32])
print(target)  # 3

writer = SummaryWriter("dataloader")
step = 0
for data in test_loader:
    imgs, targets = data
    # print (imgs.shape) # torch.Size([4 3, 32, 32]),4为batch_size
    # print(targets) # tensor([2, 3, 6, 8]),4张图片的target进行了打包
    writer.add_images("test_data", imgs, step)
    step += 1

writer.close()
相关推荐
maqr_1102 分钟前
MySQL数据库迁移到云端如何保障安全_数据加密与SSL连接配置
jvm·数据库·python
u0109147608 分钟前
MySQL如何限制触发器递归调用的深度_防止触发器死循环方法
jvm·数据库·python
云安全助手11 分钟前
2026年AI安全大模型实战指南:快快云安全AI能力全景解析
人工智能·网络安全·claude
weixin_3812881812 分钟前
MySQL中如何使用HEX函数转换十六进制_MySQL进制转换函数
jvm·数据库·python
fuquxiaoguang22 分钟前
当AI开始改写自己的“进化引擎”:从DGM到HyperAgents
人工智能·hyperagents
bKYP953cL23 分钟前
构建自己的AI编程助手:基于RAG的上下文感知实现方案
数据库·人工智能·ai编程
数字供应链安全产品选型28 分钟前
在供应链攻击激增200%的时代,如何用AI原生安全重塑防御边界?
人工智能
枫叶林FYL32 分钟前
项目七:实时异常检测与告警系统——基于统计与机器学习的数据质量监控平台
人工智能·自然语言处理
maqr_11032 分钟前
HTML怎么生成订单预览_HTML只读订单信息结构【操作】
jvm·数据库·python
sg_knight1 小时前
设计模式实战:责任链模式(Chain of Responsibility)
python·设计模式·责任链模式