在使用Torch进行训练时发现Dataloader在训练和测试时返回的数据不是同一个纬度的。我喂入的数据形状是(5,3,224,224),由于batch_size我设置了2,返回的应该是(2,5,3,224,224),训练集返回正常,但是测试集返回的形状仍然是(5,3,224,224)
train_data = MyDataset('train.txt', transform=transform, loader=MyLoader)
train_loader = DataLoader(dataset=train_data, batch_size=2, shuffle=True)
test_data = MyDataset('train.txt', transform = transform, loader=MyLoader)
test_loader = DataLoader(test_data,batch_size=2, shuffle=False)
运行结果为test_imgs(5,3,224,224),train_imgs(2,5,3,224,224)。由于我网络的定义,期望的输入形状是五维的所以会报错
我用unsqueeze方法增加了一个纬度就可以了,但是不清楚为什么一个返回五维,一个返回四维
我是SB,我写错了,for循环里应该引用test_loader