README.md 2.7 KB

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.

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-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