解决: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)
解决了可以同步的问题,但是每次获取的样本都一样,不满足要求,想将两个数据集的打乱读,而且还要同步,每次还不一样。
创新互联为客户提供专业的成都网站设计、网站制作、程序、域名、空间一条龙服务,提供基于WEB的系统开发. 服务项目涵盖了网页设计、网站程序开发、WEB系统开发、微信二次开发、成都手机网站制作等网站方面业务。解决:
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://scyanting.com/article/djjghs.html