HorizonRobotics / Sparse4D

MIT License
326 stars 31 forks source link

复现结果没有达到预期 #76

Open WangZZJJ opened 3 months ago

WangZZJJ commented 3 months ago

林博您好,我做了几组实验但是不能得到预期的结果,以下是我训练的log和结果。以下实验均是用8张A100训练。

  1. 我用配置sparse4dv3_temporal_r50_1x8_bs6_256x704训练,一开始loss下降,后来grad_norm出现nan并且报错。这是我的log 20240722_143807.log
  2. 然后我调小了学习率为6e-5,调整了epoch数为150。得到的训练结果NDS小了3个点。下面是我的结果和log 20240719_075541.log image
  3. 接着我修改了,lr=1e-4和"img_backbone": dict(lr_mult=0.2)。得到的结果NDS还是比预期小了3个点。 20240722_032236.log image 请问,您有什么建议吗?感谢!
linxuewu commented 3 months ago

emmm,你这个指标确实差的比较远。

如果是8卡训练的话,确保代码版本、config、anchor_file、data pkl都和我提供的完全一致吗?

mikasa-2024 commented 2 months ago

林博您好,我做了几组实验但是不能得到预期的结果,以下是我训练的log和结果。以下实验均是用8张A100训练。

  1. 我用配置sparse4dv3_temporal_r50_1x8_bs6_256x704训练,一开始loss下降,后来grad_norm出现nan并且报错。这是我的log 20240722_143807.log
  2. 然后我调小了学习率为6e-5,调整了epoch数为150。得到的训练结果NDS小了3个点。下面是我的结果和log 20240719_075541.log image
  3. 接着我修改了,lr=1e-4和"img_backbone": dict(lr_mult=0.2)。得到的结果NDS还是比预期小了3个点。 20240722_032236.log image 请问,您有什么建议吗?感谢!

哈咯,请问你解决了吗,我也是用8张A100训练中会出现梯度爆炸

PonyAIjkz commented 2 weeks ago

@mikasa-2024 @WangZZJJ 由于代码在处理3D 尺寸过程中使用exp, 所以预测尺寸的冪很容易爆炸,建议使用较小的学习率,并且关闭训练epoch后推理的hook机制,可以复现指标

mikasa-2024 commented 2 weeks ago

@mikasa-2024 @WangZZJJ 由于代码在处理3D 尺寸过程中使用exp, 所以预测尺寸的冪很容易爆炸,建议使用较小的学习率,并且关闭训练epoch后推理的hook机制,可以复现指标

请问‘关闭训练epoch后推理的hook机制’是指什么,没有太明白,意思是训练中途不进行评测,仅在全部训练完成后评测一次吗?

PonyAIjkz commented 2 weeks ago

是的, 前期训练不稳定也不容易收敛, 评测可以放在后面离线进行, 我记得训练过程中加上--no-validate这个参数就可以了

mikasa-2024 commented 2 weeks ago

是的, 前期训练不稳定也不容易收敛, 评测可以放在后面离线进行, 我记得训练过程中加上--no-validate这个参数就可以了

好的,我之后尝试一下,感谢!