Releases: Megvii-BaseDetection/YOLOX
YOLOX 0.3.0
YOLOX 0.3.0 version
Updates notes
【2022/04/22】
Features
- support loading YOLOX model through
torch.hub
#1189 - support just-in-time compile op #1241
- support wandb logger #1144
- support
freeze
function for torch module #1156 - support showing YOLOX demo in a live window #1138
- support custom dataset for evaluator #1131
- add option for decode output in export_onnx #1113
- add HuggingFace web demo, click link here #1184
- add pre-commit #1263
- add
get_trainer
method in Exp class #1263
For pip users
pip install yolox
could help you to install yolox for most platform.
For windows users, yolox will compile self-defined operator in YOLOX package just-in-time. Otherwise, yolox will compile operator during installation automatically.
Thanks
Contributors (sort by timestamp of commit)
@woowonjin @robin-maillot @wico-silva
@AaronNZH @nemonameless @ArMaxik
@joakimeriksson @shenyi0220 @manangoel99
@wep21 @futabato @AK391
@DoubleChuang @Ar-Ray-code @PieroMacaluso
@Joe0120 @Yulv-git
0.2.0
0.2.0
Updates notes
【2022/01/18】
Features
- Saved 30% memory useage in COCO training. #1066
- Log per class AP & AP during evaluation. #1026 #1052
- Users could install yolox from pip now! Supports on more platform is coming. #1020 #1079
- Optimize dynamic matching in label assignment. #861
For pip users
pip install yolox
could help you to install yolox now.
Exp design
YOLOX use Exp
as a controller. With Exp object, users could do everything they want.
e.g.
If you want to get something used in yolox tiny.
from yolox.exp import get_exp
exp = get_exp(exp_name="yolox-tiny") # yolox-tiny could be replaced by yolox-nano/s/m and so on
model = exp.get_model() # now you get yolox-tiny model
dataloader = exp.get_data_loader(batch_size=8, is_distributed=False)
optimizer = exp.get_optimizer(batch_size=2)
Training with pip installed yolox
Since pip will auto install yolox in its own way, users may use a environment variable named YOLOX_DATADIR
.
Check more details from our docs here.
0.1.1 pre release
0.1.1pre
Updates notes
【2021/08/19】
Features
- Support image caching for faster training, which requires large system RAM.
- Remove the dependence of apex and support torch amp training.
- Optimize the preprocessing for faster training
- Replace the older distort augmentation with new HSV aug for faster training and better performance.
2X Faster training
We optimize the data preprocess and support image caching with --cache
flag:
python tools/train.py -n yolox-s -d 8 -b 64 --fp16 -o [--cache]
yolox-m
yolox-l
yolox-x
- -d: number of gpu devices
- -b: total batch size, the recommended number for -b is num-gpu * 8
- --fp16: mixed precision training
- --cache: caching imgs into RAM to accelarate training, which need large system RAM.
Higher performance
New models achive ~1% higher performance! See Model_Zoo for more details.
Support torch amp
We now support torch.cuda.amp training and Apex is not used anymore.
Breaking changes
We remove the normalization operation like -mean/std. This will make the old weights incompatible.
If you still want to use old weights, you can add `--legacy' in demo and eval:
python tools/demo.py image -n yolox-s -c /path/to/your/yolox_s.pth --path assets/dog.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device [cpu/gpu] [--legacy]
and
python tools/eval.py -n yolox-s -c yolox_s.pth -b 64 -d 8 --conf 0.001 [--fp16] [--fuse] [--legacy]
yolox-m
yolox-l
yolox-x
But for deployment demo, we don't suppor the old weights anymore.
YOLOX 0.1.0 version
0.1.0 release
Features
- YOLOX is a high-performance anchor-free YOLO, exceeding yolov3~v5.
- Support deployment of MegEngine, ONNX, TensorRT, openvino and ncnn.
- Document website
Bug fixes
- fix memory leak issues during training. (e.g. #103)
Breaking change
- Suffix of saved checkpoints become
pth
instead oftar