scheduler.step()放在 if (epoch+1) % val_interval==0之前还是之后
时间: 2024-03-04 21:51:33 浏览: 68
LTE_scheduler.zip_LTE_lte scheduler_zip
通常情况下,scheduler.step()应该放在 if (epoch+1) % val_interval==0之后。因为scheduler.step()的作用是更新优化器的学习率,而在训练过程中,每个epoch结束后进行验证集的验证是很常见的操作,所以在验证集验证之后再更新学习率更为合理。如果在之前更新学习率,那么当前epoch的学习率将会与下一个epoch的验证集结果产生关联,从而影响模型的训练效果。
阅读全文