dataloader读取batchsize显示出错

问题再现

for i, ((inputs_w, inputs_s), targets) in enumerate(data_loader):
就这么一行,显示最后index out of bound;

解决方法

dataloader丢掉最后一个不足batch size的部分,

DataLoader(dataset, batch_size=1, shuffle=False, sampler=None, 
num_workers=0, collate_fn=default_collate, pin_memory=False, 
drop_last=True)

参考

[1] PyTorch中Torch.utils.data的DataLoader加载数据时batch_size变了