Megvii-BaseDetection / YOLOX

YOLOX is a high-performance anchor-free YOLO, exceeding yolov3~v5 with MegEngine, ONNX, TensorRT, ncnn, and OpenVINO supported. Documentation: https://yolox.readthedocs.io/
Apache License 2.0
9.18k stars 2.16k forks source link

自己数据集,yolox-tiny反而比yolov4-tiny低10个点 #812

Open charles-str opened 2 years ago

charles-str commented 2 years ago

您好,用自己的数据集训练yolox-tiny和yolov4-tiny, 但是map 比yolov4-tiny低10个点 命令:python tools/train.py -f exps/example/yolox_voc/yolox_voc_tiny.py -d 2 -b 64 --fp16 -o -c yolox-tiny.pth --cache &

╒══════════════════╤════════════════════════════╕ │ keys │ values │ ╞══════════════════╪════════════════════════════╡ │ seed │ None │ ├──────────────────┼────────────────────────────┤ │ output_dir │ './YOLOX_outputs' │ ├──────────────────┼────────────────────────────┤ │ print_interval │ 10 │ ├──────────────────┼────────────────────────────┤ │ eval_interval │ 10 │ ├──────────────────┼────────────────────────────┤ │ num_classes │ 7 │ ├──────────────────┼────────────────────────────┤ │ depth │ 0.33 │ ├──────────────────┼────────────────────────────┤ │ width │ 0.375 │ ├──────────────────┼────────────────────────────┤ │ data_num_workers │ 4 │ ├──────────────────┼────────────────────────────┤ │ input_size │ (640, 640) │ ├──────────────────┼────────────────────────────┤ │ multiscale_range │ 5 │ ├──────────────────┼────────────────────────────┤ │ data_dir │ None │ ├──────────────────┼────────────────────────────┤ │ train_ann │ 'instances_train2017.json' │ ├──────────────────┼────────────────────────────┤ │ val_ann │ 'instances_val2017.json' │ ├──────────────────┼────────────────────────────┤ │ mosaic_prob │ 1.0 │ ├──────────────────┼────────────────────────────┤ │ mixup_prob │ 1.0 │ ├──────────────────┼────────────────────────────┤ │ hsv_prob │ 1.0 │ ├──────────────────┼────────────────────────────┤ │ flip_prob │ 0.5 │ ├──────────────────┼────────────────────────────┤ │ degrees │ 10.0 │ ├──────────────────┼────────────────────────────┤ │ translate │ 0.1 │ ├──────────────────┼────────────────────────────┤ │ mosaic_scale │ (0.5, 1.5) │ ├──────────────────┼────────────────────────────┤ │ mixup_scale │ (0.5, 1.5) │ ├──────────────────┼────────────────────────────┤ │ shear │ 2.0 │ ├──────────────────┼────────────────────────────┤ │ perspective │ 0.0 │ ├──────────────────┼────────────────────────────┤ │ enable_mixup │ False │ ├──────────────────┼────────────────────────────┤ │ warmup_epochs │ 1 │ ├──────────────────┼────────────────────────────┤ │ max_epoch │ 100 │ ├──────────────────┼────────────────────────────┤ │ warmup_lr │ 0 │ ├──────────────────┼────────────────────────────┤ │ basic_lr_per_img │ 1.5625e-05 │ ├──────────────────┼────────────────────────────┤ │ scheduler │ 'yoloxwarmcos' │ ├──────────────────┼────────────────────────────┤ │ no_aug_epochs │ 15 │ ├──────────────────┼────────────────────────────┤ │ min_lr_ratio │ 0.005 │ ├──────────────────┼────────────────────────────┤ │ ema │ True │ ├──────────────────┼────────────────────────────┤ │ weight_decay │ 0.0005 │ ├──────────────────┼────────────────────────────┤ │ momentum │ 0.9 │ ├──────────────────┼────────────────────────────┤ │ exp_name │ 'yolox_voc_tiny' │ ├──────────────────┼────────────────────────────┤ │ test_size │ (416, 416) │ ├──────────────────┼────────────────────────────┤ │ test_conf │ 0.01 │ ├──────────────────┼────────────────────────────┤ │ nmsthre │ 0.65 │ ├──────────────────┼────────────────────────────┤ │ input_scale │ (416, 416) │ ├──────────────────┼────────────────────────────┤ │ random_size │ (10, 20) │ ╘══════════════════╧════════════════════════════╛

最后得到yolox-tiny map:0.23 ,但是yolov4-tiny:0.33

charles-str commented 2 years ago

@Joker316701882

jimmyflycv commented 2 years ago

simillar result on my dataset. compared to yolov5m, yolox-m about 10 map lower.

zzzfo commented 2 years ago

你好,请问你解决这个问题了吗?我训练出来的AP也是很低,而且我用s、tiny、nano训练出来AP值差不多 @charles-str

mcmingchang commented 2 years ago

我觉得可能是batchsize太大了,试试每张卡8张图?

lixiangMindSpore commented 2 years ago

你是默认每10轮验证一次吧?你试试每一轮验证一次