Atten4Vis / LW-DETR

This repository is an official implementation of the paper "LW-DETR: A Transformer Replacement to YOLO for Real-Time Detection".
Apache License 2.0
235 stars 14 forks source link

关于Table 5, 没有预训练实验的超参数 #15

Closed Peterande closed 3 months ago

Peterande commented 3 months ago

您好,为了验证新加入模块的有效性。需要尝试在没有预训练的情况下直接在COCO上训练。请问Table 5中w/o预训练的实验,是只需要传入vit的预训练权重,把pretrain_weight注释掉就行了是吗?其余超参不变吗?

xbsu commented 3 months ago

您好,为了验证新加入模块的有效性。需要尝试在没有预训练的情况下直接在COCO上训练。请问Table 5中w/o预训练的实验,是只需要传入vit的预训练权重,把pretrain_weight注释掉就行了是吗?其余超参不变吗?

Table5中无预训练的实验组超参lr和lr_encoder增大1倍,lr_component_decay=1.0,注释pretrain_weights和pretrain_keys_modify_to_load,其余保持不变。

以small模型为例:

model_name='lwdetr_small_coco_wo_pretraining'
coco_path=$1

python -u -m torch.distributed.launch \
    --nproc_per_node=8 \
    --use_env \
    main.py \
    --lr 2e-4 \
    --lr_encoder 3e-4 \
    --batch_size 4 \
    --weight_decay 1e-4 \
    --epochs 60 \
    --lr_drop 60 \
    --lr_vit_layer_decay 0.8 \
    --lr_component_decay 1.0 \
    --encoder vit_tiny \
    --vit_encoder_num_layers 10 \
    --window_block_indexes 0 1 3 6 7 9 \
    --out_feature_indexes 2 4 5 9 \
    --dec_layers 3 \
    --group_detr 13 \
    --two_stage \
    --projector_scale P4 \
    --hidden_dim 256 \
    --sa_nheads 8 \
    --ca_nheads 16 \
    --dec_n_points 2 \
    --bbox_reparam \
    --lite_refpoint_refine \
    --ia_bce_loss \
    --cls_loss_coef 1 \
    --num_select 300 \
    --dataset_file coco \
    --coco_path $coco_path \
    --square_resize_div_64 \
    --use_ema \
    --pretrained_encoder pretrain_weights/caev2_tiny_300e_objects365.pth \
    --output_dir output/$model_name
Peterande commented 3 months ago

感谢您的及时回复!请问这部分的training_logs还有留存嘛? 如果能提供的话,就不用重新训练一遍原模型了。(为了方便在早期epoch对比性能)

xbsu commented 3 months ago

感谢您的及时回复!请问这部分的training_logs还有留存嘛? 如果能提供的话,就不用重新训练一遍原模型了。(为了方便在早期epoch对比性能)

查了一下确实没有保存这部分的training_logs。这个结果很容易复现,可以先在小模型上实验看看。

Peterande commented 3 months ago

感谢您的及时回复!请问这部分的training_logs还有留存嘛? 如果能提供的话,就不用重新训练一遍原模型了。(为了方便在早期epoch对比性能)

查了一下确实没有保存这部分的training_logs。这个结果很容易复现,可以先在小模型上实验看看。

已经在复现了,谢谢您~