给定groups=1
,大小为[48, 3, 3, 3]
的权重,预期输入[5, 128, 129, 4]
有3个通道,但得到了128个通道。
这是我的代码:
**model_ft.eval()
for image in test_loader:
image = image.cuda()
output = model_ft(image)
output = output.cpu().detach().numpy()
for i, (e, n) in enumerate(list(zip(output, name))):
sub.loc[sub['id_code'] == n.split('/')[-1].split('.')[0], 'diagnosis'] = le.inverse_transform([np.argmax(e)])
sub.to_csv('submission.csv', index=False)**
print(X_test.shape)
(3071, 128, 128, 3)
from torch.utils.data import DataLoader
test_loader = DataLoader(X_test, batch_size=5, shuffle=True)
print(train_data)
我不知道如何解决这个问题来预测我的竞争对手
我假设
print(X_test.shape)
(3071, 128, 128, 3)
您的意思是,测试数据有3071个样本,每个样本具有128x128个像素和3个颜色通道。此外,我假设您使用的模型不会转换输入,因此卷积层期望默认布局为形状(N,C,H,W(,但您将数据提供为(N,H,W,C(。
解决方案:在将image.transpose_(1, 3)
或image = image.cuda().transpose(1, 3)
交给模型之前,请先尝试。