SwinT_detectron2 icon indicating copy to clipboard operation
SwinT_detectron2 copied to clipboard

训练Retinanet,提示This error indicates that your module has parameters that were not used in producing loss.

Open AutomanHan opened this issue 2 years ago • 1 comments

你好,我用这套代码训练Retinanet,FPN的参数设置为["stage2","stage3", "stage4", "stage5"]时,会提示错误 配置如下: image

RuntimeError: Expected to have finished reduction in the prior iteration before starting a new one. 
This error indicates that your module has parameters that were not used in producing loss. 
You can enable unused parameter detection by (1) passing the keyword argument find_unused_parameters=True to torch.nn.parallel.DistributedDataParallel;
 (2) making sure all forward function outputs participate in calculating loss. I
f you already have done the above two steps, then the distributed data parallel module wasn’t able to locate the output tensors in the return value of your module’s forward function.

看提示是有模型有冗余,在训练过程中部分模型没有提供loss,参考建议(1),添加find_unused_parameters=True后,代码可以正常运行。但我没有定位到是哪部分导致的,能麻烦帮忙解决一下是模型的哪部分造成的么?

AutomanHan avatar Jun 07 '22 08:06 AutomanHan

@AutomanHan 建议去掉没有参与训练的参数

xiaohu2015 avatar Jun 08 '22 10:06 xiaohu2015