Open chen-si-jia opened 3 months ago
请问可以具体定位到是哪里的forward函数出的问题吗?
请问可以具体定位到是哪里的forward函数出的问题吗?
这个文件:src/lib/trains/mot_depth.py 中的forward: class myModelWithLoss(nn.Module): """ package the model and loss together compared to ModleWithLoss, the model returns a dict """ def init(self, model, loss): super().init() self.model = model self.loss = loss def forward(self, batch):
outputs = self.model(batch['input'], batch['prev_input'], batch['next_input']) # outputs: dict
loss, loss_stats = self.loss(outputs, batch)
return outputs, loss, loss_stats
命令:
CUDA_VISIBLE_DEVICES=1 python -W ignore train.py mot_depth --dataset kitti --exp_id kitti --arch dla_34 --batch_size 1 --num_epochs 40 --hide_data_time --load_model '../models/pretrained/coco_mono_dla_depth.pth' --lr_step 30 --gpus 0 --data_cfg '../src/lib/cfg/kitti.json'
完整报错:
发生异常: TypeError forward() takes 2 positional arguments but 4 were given
File "XXX/src/lib/trains/mot_depth.py", line 315, in forward outputs = self.model(batch['input'], batch['prev_input'], batch['next_input']) # outputs: dict
File "XXX/src/lib/trains/mot_depth.py", line 376, in run_epoch
output, loss, loss_stats = model_with_loss(batch)
File "XXX/src/lib/trains/base_trainer.py", line 120, in train
return self.run_epoch('train', epoch, data_loader)
File "XXX/src/train.py", line 79, in main log_dicttrain, = trainer.train(epoch, train_loader)
File "XXX/src/train.py", line 107, in
main(opt) TypeError: forward() takes 2 positional arguments but 4 were given