通过随机种子使两个dataset打乱的顺序相同
import numpy as np
import torch
from torch.utils.data import Dataset, DataLoader
x = np.arange(11)
y = np.arange(11)
x2 = np.arange(0, 110, 10)
y2 = np.arange(0, 110, 10)
class SequenceDataset(Dataset):
def __init__(self, input, target):
self.input = torch.tensor(input)
self.target = torch.tensor(target)
def __len__(self):
return len(self.target)
def __getitem__(self, item):
return self.input[item], self.target[item]
sequence_dataset = SequenceDataset(x, y)
loader = DataLoader(sequence_dataset, batch_size= 5, shuffle=True)
loader2 = DataLoader(SequenceDataset(x2, y2), batch_size= 5, shuffle=True)
for epoch in range(3):
torch.manual_seed(0)
for (x, y) in loader:
print(x, y)
torch.manual_seed(0)
for (x2, y2) in loader2:
print(x2, y2)
在每一次使用dataloader前,两个dataloader设置相同的随机种子即可。
输出结果:
设置随机种子控制shuffle顺序的原理参考:https://www.zhihu.com/question/437269017
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!