-1

给定groups=1size 的权重[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)

我不知道如何解决这个问题来预测我的竞争

4

1 回答 1

0

我假设

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)在将其交给模型之前。

于 2020-08-17T17:15:33.893 回答