首页 Paddle框架 帖子详情
如何自己在Dataset里shuffle
收藏
快速回复
Paddle框架 问答深度学习 918 4
如何自己在Dataset里shuffle
收藏
快速回复
Paddle框架 问答深度学习 918 4

因为同时使用多个Dataloader会因为shm大小的限制报错。所以需要在单个Dataloader里载入多个数据集。而Dataloader只能整体将数据shuffle。如何做到每个数据集里的数据单独shuffle呢?

0
收藏
回复
全部评论(4)
时间顺序
m
mar836924042
#2 回复于2020-12

好像只好不使用Dataloader的shuffle,然后每一轮结束时单独对每个数据集列表路径都手动shuffle再合并,用的时候再根据数据集大小划分成的几个区间来分别使用数据集?不知道有没简单方法。

0
回复
AIStudio810258
#3 回复于2020-12

我甚至想过在batch里做“小规模shuffle”,但一些gan任务batch size就是1啊

0
回复
AIStudio810258
#4 回复于2020-12
好像只好不使用Dataloader的shuffle,然后每一轮结束时单独对每个数据集列表路径都手动shuffle再合并,用的时候再根据数据集大小划分成的几个区间来分别使用数据集?不知道有没简单方法。

Dataset只有在构造函数里读一次文件列表。epoch循环里不重新读取,只是每次重新shuffle那个sampler吧

0
回复
AIStudio810258
#5 回复于2020-12
好像只好不使用Dataloader的shuffle,然后每一轮结束时单独对每个数据集列表路径都手动shuffle再合并,用的时候再根据数据集大小划分成的几个区间来分别使用数据集?不知道有没简单方法。

而这种shuffle不会影响两个数据集的匹配关系

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户