解决:pytorch同时让两个dataloader打乱的顺序是相同-创新互联
                                            class SamplerDef(object):
    def __init__(self, data_source, indices):
        self.data_source = data_source
        self.indices = indices
    def __iter__(self):
        return iter(self.indices)
    def __len__(self):
        return len(self.data_source)n = len(dataset_train1)
indices = torch.randperm(n)
mySampler = SamplerDef(data_source=dataset_train1, indices=indices)ITS_train_loader1 = torch.utils.data.DataLoader(dataset_train1, batch_size=BATCH_SIZE, shuffle=False,pin_memory=True, sampler=mySampler)
ITS_train_loader2 = torch.utils.data.DataLoader(dataset_train2, batch_size=BATCH_SIZE, shuffle=False,pin_memory=True, sampler=mySampler)解决了可以同步的问题,但是每次获取的样本都一样,不满足要求,想将两个数据集的打乱读,而且还要同步,每次还不一样。

解决:
class MyDataset(Dataset):
    def __init__(self, datasetA, datasetB):
        self.datasetA = datasetA
        self.datasetB = datasetB
        
    def __getitem__(self, index):
        xA = self.datasetA[index]
        xB = self.datasetB[index]
        return xA, xB
    
    def __len__(self):
        return len(self.datasetA)
    
datasetA = ...
datasetB = ...
dataset = MyDataset(datasetA, datasetB)
loader = DataLoader(dataset, batch_size=10, shuffle=True)你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
分享名称:解决:pytorch同时让两个dataloader打乱的顺序是相同-创新互联
当前链接:http://www.scyingshan.cn/article/djjghs.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 