Python 5维权重的预期5维输入,但得到4

Python 5维权重的预期5维输入,但得到4,python,machine-learning,deep-learning,pytorch,Python,Machine Learning,Deep Learning,Pytorch,RuntimeError:5维权重[32,3,1,5,5]应为5维输入,但得到的是大小为[3,256,128,128]的4维输入 我打印了输入形状,它是“输入形状:torch.Size([2,3,256,128,128])” 当我在这一行中训练模型时出错 for i, model in enumerate(models): opts.append(optim.AdamW(models[i].parameters(), lr=args.lr[i])) train_model(models,

RuntimeError:5维权重[32,3,1,5,5]应为5维输入,但得到的是大小为[3,256,128,128]的4维输入

我打印了输入形状,它是“输入形状:torch.Size([2,3,256,128,128])”

当我在这一行中训练模型时出错

for i, model in enumerate(models):
  opts.append(optim.AdamW(models[i].parameters(), lr=args.lr[i]))
  train_model(models, 
    dataloaders, 
    criterion=loss_fn, 
    optimizers=opts, 
    opath=args.checkpoint_dir, 
    num_epochs=args.epochs)

您的模型需要5维输入,与[32,3,1,5,5]形状相同。但您需要输入[3256128128]形状。因此,您必须检查您的模型并修复输入和输出形状。

您应该告诉我们发生这种情况的线路。不是也有调用堆栈吗?谢谢你的回答,它发生在我训练模型时“为I,枚举(模型)中的模型:opts.append(optm.AdamW(模型[I].parameters(),lr=args.lr[I])训练模型(模型,数据加载器,criteria=loss\u fn,optimizers=opts,opath=args.checkpoint\u dir,num\u epochs=args.epochs)“它在第一个历元后给出错误我还打印了张量的输入它是”“输入形状:torch.Size([2,3,256,128,128])是的,我知道,但是为什么在pyt中需要5个dim?我们通常有4个dimI。我不知道您的模型架构。因此,您最好显示包含整个架构和训练周期的整个代码。然后我们可能会发现问题。