Lonelysoul丶枫寒 2022-06-28 21:17 采纳率: 33.3%
浏览 43

有关pytorch的shuffle问题

问题遇到的现象和发生背景

目前在使用pytorch做一个表情识别的项目,需要同时加载两个数据集,一个数据集存的是左眼的图片,另一个存的是右眼的图片。这两个数据集分别使用datasets和DataLoader进行了加载。此时面临一个问题,由于两个数据集中的数据是有关联的,比如说,数据集一的第一张图片和数据集二的第一张图片来自同一张人脸,在送入网络的时候希望保持这个顺序不变(网络是双输入通道,分别送入数据集一和数据集二的图片)。如果在DataLoader时使shuffle=True,那么两个数据集都会被打乱,送入网络的图片可能不是来自同一张人脸,这与网络设计的初衷不符,如果shuffle=False,网络的训练就会出问题(目前表现出来的是loss和acc都保持不变)。

问题相关代码

这是我目前的代码


train_dataset_LE = datasets.ImageFolder('../datasets/train/Left_Eye/', train_transform)
train_dataset_RE = datasets.ImageFolder('../datasets/train/Right_Eye/', train_transform)

train_loader_LE = torch.utils.data.DataLoader(train_dataset_LE, batch_size=BATCH_SIZE, shuffle=True)
train_loader_RE = torch.utils.data.DataLoader(train_dataset_RE, batch_size=BATCH_SIZE, shuffle=True)
运行结果及报错内容
我的解答思路和尝试过的方法

尝试使用shuffle=False,但是会导致模型无法训练,所以个人认为应该还是shuffle一下比较好,所以想请教一下,有没有方法使train_loader_LE 和train_loader_RE 使用相同的shuffle方式

  • 写回答

1条回答 默认 最新

  • 「已注销」 2022-06-28 21:40
    关注

    是以同样顺序打乱数据还是什么

    评论

报告相同问题?

问题事件

  • 创建了问题 6月28日

悬赏问题

  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64
  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示