我的DataLoader每个时代都返回相同的图像 . 我的模型每次只查看相同的单个图像(索引为'0')(批量大小为1 ...但不管批量大小如何都没有变化,无论如何) .
这是我的数据集,剥离到重要的位:
class MyDataset(Dataset):
def __init__(self, path, loader=pil_loader):
self.path = path
self.images = os.listdir(path)
def __getitem__(self, index):
image = self.images[index]
. . .
这是DataSet:
train_ds = MyDataset('/data')
这是我的采样器:
train_sampler = RandomSampler(train_ds)
这是我的DataLoader:
train_dl = DataLoader(train_ds, batch_size=1, sampler=train_sampler)
我不确定为什么每次在训练期间它都会返回相同的图像 .
我的 RandomSampler
设置不完整吗?或者也许我错误地写了 __getitem__
?我无法弄清楚 .
1 Answer
啊哈 . 好吧,如果有人在这里遇到同样的问题,我会弄清楚它是什么,也许这会有所帮助 .
我对
__len__
的定义是错误的 .我猜随机采样器取决于你如何设置长度方法 .
我被暂时嘲笑为
而不是真实的东西,如: