训练默认设置是58epoch
您好!感谢您的工作。我想问一下,为什么deim_hgnetv2_l_coco.yml等文件里将epoch设置为58,而论文里用的则是50或者72epoch呢?如果需要作对比,是否需要将epoch调整回50或者72epoch?
如果已经训练了58epoch,有没有断点续训的办法呢?
你好,非常感谢你对我们的工作感兴趣!我们这里的setting是follow D-FINE的,他使用到了参数grid-search:extra 8个epochs用于search一个optimal EMA [value。请参考:config 和 implmentation。请知悉。
如果已经训练了58epoch,有没有断点续训的办法呢?
可以的,你直接resume training就好了:
export CUDA_VISIBLE_DEVICES=4
NCCL_P2P_DISABLE=1 python train.py --use-amp --seed=0
-c configs/deimv2/deimv2_hgnetv2_s_120e_base10.yml
-r ./deimv2_weights/deimv2_hgnetv2_s_120e_base10.pth
> deimv2_logs/deimv2_hgnetv2_s_120e_base10.log
非常非常感谢您的解答!我想还想问一下,在训练完成后的结果文件夹里,best_stg1.pth和best_stg2.pth,这两个哪一个适合用来做模型性能的对比呢?它们有什么区别呢?
使用best_stg2.pth,这个是整个训练最好的checkpoint。按照D-FINE的setting,他把关闭数据增强后tuning EMA value的stage称为stage2(即stg2),保存的就是best_stg2.pth。https://github.com/ShihuaHuang95/DEIM/blob/main/engine/solver/det_solver.py#L143
非常非常感谢您的解答!我想还想问一下,在训练完成后的结果文件夹里,best_stg1.pth和best_stg2.pth,这两个哪一个适合用来做模型性能的对比呢?它们有什么区别呢?
请问您是如何设置configs/deim_dfine/dfine_hgnetv2_s_coco.yml和configs/deim_dfine/deim_hgnetv2_s_coco.yml或其他文件中的epoch,stop_epochs呢,我在没有修改epoch的情况下训练,只得到了best_stg1.pth,望解答,谢谢。