microsoft / SoftTeacher

Semi-Supervised Learning, Object Detection, ICCV2021
MIT License
904 stars 123 forks source link

如何处理的student多次forward 的loss #239

Open Whale-ice opened 1 year ago

Whale-ice commented 1 year ago

您好,请问代码中student model对于有标签书先进行了forwardtrain得到了losses,对于无标签数据又单独进行了forwardtrain,这样两次forward不会导致student网络中同一个参数点在计算图中被标记了两次,会导致loss.backward报错吗?

Fengzeheng commented 1 year ago

两次forwardtrain只是得到的loss值不同,但每个网络参数tensor中记录的运算操作相同(记录在grad_fn中?),或者说两次产生的计算图的全局拓扑一致,所以叠加后backward没问题。

Whale-ice commented 1 year ago

谢谢你回答,两次计算图确实是拓扑一致的,不应该报错,我是使用了checkpoint机制才导致的这个问题,关掉以后就不会报错了。