【PyTorch笔记 05】使用DataLoader类进行数据加载的策略

文章目录

一、声明

  • 本帖持续更新中

二、情形1:同时加载不等长的两个数据

在某些情况下,训练数据的循环中需要同时加载两个数据集,然而加载两个数据集有可能不等长。这就有可能导致训练时出现逻辑问题。例如,小样本学习中需要加载支撑集和查询集,一个示例程序如下所示:

python 复制代码
# 用DataLoader类管理数据
support_loader   = DataLoader(support_dataset , batch_size=args.batch_size, shuffle=True)
query_loader  = DataLoader(query_dataset, batch_size=args.batch_size, shuffle=True)

# 训练循环
for (support_data, support_label, support_indices), (query_data, query_label, query_indices) in zip(support_loader, query_loader):        
        support_data, query_data = support_data.to(device).float(), query_data.to(device).float()
        query_label = query_label.to(device).long()

上述代码中,DataLoader类管理支撑集和查询集,当遇到不等长的情况时,循环会在短的数据处理结束时终止。

相关推荐
冷小鱼几秒前
pgvector 向量数据库完全指南:PostgreSQL 生态的 AI 增强
数据库·人工智能·postgresql
陈天伟教授4 分钟前
人工智能应用- 天文学家的助手:08. 星系定位与分类
前端·javascript·数据库·人工智能·机器学习
啵啵鱼爱吃小猫咪13 分钟前
机械臂阻抗控制github项目-mujoco仿真
开发语言·人工智能·python·机器人
放下华子我只抽RuiKe518 分钟前
算法的试金石:模型训练、评估与调优的艺术
人工智能·深度学习·算法·机器学习·自然语言处理·数据挖掘·线性回归
songyuc32 分钟前
【PyTorch】感觉`CrossEntropyLoss`和`BCELoss`很类似,为什么它们接收labels的shape常常不一样呢?
人工智能·pytorch·python
小酒丸子1 小时前
AD学习笔记之异形焊盘
笔记·学习
renhongxia11 小时前
如何对海洋系统进行知识图谱构建?
人工智能·学习·语言模型·自然语言处理·自动化·知识图谱
会一点点设计2 小时前
2026年设计趋势:当AI遇见人性,不完美成为新美学
人工智能
无限大62 小时前
职场逻辑02:3个方法,系统性提升你的深度思考能力
人工智能