yjh0410 1c33255e13 update RTCDet 1 年間 前
..
README.md 1b5e49e543 add pretrained 1 年間 前
build.py f73a52f516 modify post-process 1 年間 前
loss.py 15a6ec2aca remove useless codes 1 年間 前
matcher.py 2727b6adb1 debug trainer 2 年 前
yolox.py 6495457ee4 add RTCDet 1 年間 前
yolox_backbone.py 6495457ee4 add RTCDet 1 年間 前
yolox_basic.py 3246f3efdd update 2 年 前
yolox_head.py 1c33255e13 update RTCDet 1 年間 前
yolox_neck.py c099f5dbdb design YOLOX2 2 年 前
yolox_pafpn.py 1c33255e13 update RTCDet 1 年間 前

README.md

YOLOX:

  • For training, we train YOLOX series with 300 epochs on COCO.
  • For data augmentation, we use the large scale jitter (LSJ), Mosaic augmentation and Mixup augmentation.
  • For optimizer, we use SGD with weight decay 0.0005 and base per image lr 0.01 / 64,.
  • For learning rate scheduler, we use Cosine decay scheduler.

On the other hand, we are trying to use AdamW to train our reproduced YOLOX. We will update the new results as soon as possible.

Model Batch Scale APval
0.5:0.95
APval
0.5
FLOPs
(G)
Params
(M)
Weight
YOLOX-S 8xb8 640 40.1 60.3 26.8 8.9 ckpt
YOLOX-M 8xb8 640 46.2 66.0 74.3 25.4 ckpt
YOLOX-L 8xb8 640 48.7 68.0 155.4 54.2 ckpt
YOLOX-X 8xb8 640
  • For training, we train YOLOX series with 300 epochs on COCO.
  • For data augmentation, we use the large scale jitter (LSJ), Mosaic augmentation and Mixup augmentation.
  • For optimizer, we use AdamW with weight decay 0.05 and base per image lr 0.001 / 64,.
  • For learning rate scheduler, we use linear decay scheduler.

Train YOLOX

Single GPU

Taking training YOLOX-S on COCO as the example,

python train.py --cuda -d coco --root path/to/coco -m yolox_s -bs 16 -size 640 --wp_epoch 3 --max_epoch 300 --eval_epoch 10 --no_aug_epoch 20 --ema --fp16 --multi_scale 

Multi GPU

Taking training YOLOX-S on COCO as the example,

python -m torch.distributed.run --nproc_per_node=8 train.py --cuda -dist -d coco --root /data/datasets/ -m yolox_s -bs 128 -size 640 --wp_epoch 3 --max_epoch 300  --eval_epoch 10 --no_aug_epoch 20 --ema --fp16 --sybn --multi_scale --save_folder weights/ 

Test YOLOX

Taking testing YOLOX-S on COCO-val as the example,

python test.py --cuda -d coco --root path/to/coco -m yolox_s --weight path/to/yolox_s.pth -size 640 -vt 0.4 --show 

Evaluate YOLOX

Taking evaluating YOLOX-S on COCO-val as the example,

python eval.py --cuda -d coco-val --root path/to/coco -m yolox_s --weight path/to/yolox_s.pth 

Demo

Detect with Image

python demo.py --mode image --path_to_img path/to/image_dirs/ --cuda -m yolox_s --weight path/to/weight -size 640 -vt 0.4 --show

Detect with Video

python demo.py --mode video --path_to_vid path/to/video --cuda -m yolox_s --weight path/to/weight -size 640 -vt 0.4 --show --gif

Detect with Camera

python demo.py --mode camera --cuda -m yolox_s --weight path/to/weight -size 640 -vt 0.4 --show --gif
Model Batch Scale APval
0.5:0.95
APval
0.5
FLOPs
(G)
Params
(M)
Weight
YOLOX-N 8xb16 640
YOLOX-S 8xb16 640
YOLOX-M 8xb16 640
YOLOX-L 8xb16 640
YOLOX-X 8xb16 640