-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
update readme and rst for documentation webpage
- Loading branch information
Showing
4 changed files
with
130 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# Model Zoo | ||
|
||
## Standard Models. | ||
|
||
|Model |size |mAP<sup>test<br>0.5:0.95 | Speed V100<br>(ms) | Params<br>(M) |FLOPs<br>(G)| weights | | ||
| ------ |:---: | :---: |:---: |:---: | :---: | :----: | | ||
|[YOLOX-s](https://github.com/Megvii-BaseDetection/YOLOX/blob/main/exps/default/yolox_s.py) |640 |39.6 |9.8 |9.0 | 26.8 | [onedrive](https://megvii-my.sharepoint.cn/:u:/g/personal/gezheng_megvii_com/EW62gmO2vnNNs5npxjzunVwB9p307qqygaCkXdTO88BLUg?e=NMTQYw)/[github](https://github.com/Megvii-BaseDetection/storage/releases/download/0.0.1/yolox_s.pth) | | ||
|[YOLOX-m](https://github.com/Megvii-BaseDetection/YOLOX/blob/main/exps/default/yolox_m.py) |640 |46.4 |12.3 |25.3 |73.8| [onedrive](https://megvii-my.sharepoint.cn/:u:/g/personal/gezheng_megvii_com/ERMTP7VFqrVBrXKMU7Vl4TcBQs0SUeCT7kvc-JdIbej4tQ?e=1MDo9y)/[github](https://github.com/Megvii-BaseDetection/storage/releases/download/0.0.1/yolox_m.pth) | | ||
|[YOLOX-l](https://github.com/Megvii-BaseDetection/YOLOX/blob/main/exps/default/yolox_l.py) |640 |50.0 |14.5 |54.2| 155.6 | [onedrive](https://megvii-my.sharepoint.cn/:u:/g/personal/gezheng_megvii_com/EWA8w_IEOzBKvuueBqfaZh0BeoG5sVzR-XYbOJO4YlOkRw?e=wHWOBE)/[github](https://github.com/Megvii-BaseDetection/storage/releases/download/0.0.1/yolox_l.pth) | | ||
|[YOLOX-x](https://github.com/Megvii-BaseDetection/YOLOX/blob/main/exps/default/yolox_x.py) |640 |**51.2** | 17.3 |99.1 |281.9 | [onedrive](https://megvii-my.sharepoint.cn/:u:/g/personal/gezheng_megvii_com/EdgVPHBziOVBtGAXHfeHI5kBza0q9yyueMGdT0wXZfI1rQ?e=tABO5u)/[github](https://github.com/Megvii-BaseDetection/storage/releases/download/0.0.1/yolox_x.pth) | | ||
|[YOLOX-Darknet53](https://github.com/Megvii-BaseDetection/YOLOX/blob/main/exps/default/yolov3.py) |640 | 47.4 | 11.1 |63.7 | 185.3 | [onedrive](https://megvii-my.sharepoint.cn/:u:/g/personal/gezheng_megvii_com/EZ-MV1r_fMFPkPrNjvbJEMoBLOLAnXH-XKEB77w8LhXL6Q?e=mf6wOc)/[github](https://github.com/Megvii-BaseDetection/storage/releases/download/0.0.1/yolox_darknet53.pth) | | ||
|
||
## Light Models. | ||
|
||
|Model |size |mAP<sup>val<br>0.5:0.95 | Params<br>(M) |FLOPs<br>(G)| weights | | ||
| ------ |:---: | :---: |:---: |:---: | :---: | | ||
|[YOLOX-Nano](https://github.com/Megvii-BaseDetection/YOLOX/blob/main/exps/default/nano.py) |416 |25.3 | 0.91 |1.08 | [onedrive](https://megvii-my.sharepoint.cn/:u:/g/personal/gezheng_megvii_com/EdcREey-krhLtdtSnxolxiUBjWMy6EFdiaO9bdOwZ5ygCQ?e=yQpdds)/[github](https://github.com/Megvii-BaseDetection/storage/releases/download/0.0.1/yolox_nano.pth) | | ||
|[YOLOX-Tiny](https://github.com/Megvii-BaseDetection/YOLOX/blob/main/exps/default/yolox_tiny.py) |416 |32.8 | 5.06 |6.45 | [onedrive](https://megvii-my.sharepoint.cn/:u:/g/personal/gezheng_megvii_com/EbZuinX5X1dJmNy8nqSRegABWspKw3QpXxuO82YSoFN1oQ?e=Q7V7XE)/[github](https://github.com/Megvii-BaseDetection/storage/releases/download/0.0.1/yolox_tiny_32dot8.pth) | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
|
||
# Get Started | ||
|
||
## 1.Installation | ||
|
||
Step1. Install YOLOX. | ||
```shell | ||
git clone git@github.com:Megvii-BaseDetection/YOLOX.git | ||
cd YOLOX | ||
pip3 install -U pip && pip3 install -r requirements.txt | ||
pip3 install -v -e . # or python3 setup.py develop | ||
``` | ||
Step2. Install [apex](https://github.com/NVIDIA/apex). | ||
|
||
```shell | ||
# skip this step if you don't want to train model. | ||
git clone https://github.com/NVIDIA/apex | ||
cd apex | ||
pip3 install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./ | ||
``` | ||
Step3. Install [pycocotools](https://github.com/cocodataset/cocoapi). | ||
|
||
```shell | ||
pip3 install cython; pip3 install 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI' | ||
``` | ||
|
||
## 2.Demo | ||
|
||
Step1. Download a pretrained model from the benchmark table. | ||
|
||
Step2. Use either -n or -f to specify your detector's config. For example: | ||
|
||
```shell | ||
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] | ||
``` | ||
or | ||
```shell | ||
python tools/demo.py image -f exps/default/yolox_s.py -c /path/to/your/yolox_s.pth --path assets/dog.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device [cpu/gpu] | ||
``` | ||
Demo for video: | ||
```shell | ||
python tools/demo.py video -n yolox-s -c /path/to/your/yolox_s.pth --path /path/to/your/video --conf 0.25 --nms 0.45 --tsize 640 --save_result --device [cpu/gpu] | ||
``` | ||
|
||
|
||
## 3.Reproduce our results on COCO | ||
|
||
Step1. Prepare COCO dataset | ||
```shell | ||
cd <YOLOX_HOME> | ||
ln -s /path/to/your/COCO ./datasets/COCO | ||
``` | ||
|
||
Step2. Reproduce our results on COCO by specifying -n: | ||
|
||
```shell | ||
python tools/train.py -n yolox-s -d 8 -b 64 --fp16 -o | ||
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 | ||
|
||
**Multi Machine Training** | ||
|
||
We also support multi-nodes training. Just add the following args: | ||
* --num\_machines: num of your total training nodes | ||
* --machine\_rank: specify the rank of each node | ||
|
||
When using -f, the above commands are equivalent to: | ||
|
||
```shell | ||
python tools/train.py -f exps/default/yolox-s.py -d 8 -b 64 --fp16 -o | ||
exps/default/yolox-m.py | ||
exps/default/yolox-l.py | ||
exps/default/yolox-x.py | ||
``` | ||
|
||
## 4.Evaluation | ||
|
||
We support batch testing for fast evaluation: | ||
|
||
```shell | ||
python tools/eval.py -n yolox-s -c yolox_s.pth -b 64 -d 8 --conf 0.001 [--fp16] [--fuse] | ||
yolox-m | ||
yolox-l | ||
yolox-x | ||
``` | ||
* --fuse: fuse conv and bn | ||
* -d: number of GPUs used for evaluation. DEFAULT: All GPUs available will be used. | ||
* -b: total batch size across on all GPUs | ||
|
||
To reproduce speed test, we use the following command: | ||
```shell | ||
python tools/eval.py -n yolox-s -c yolox_s.pth -b 1 -d 1 --conf 0.001 --fp16 --fuse | ||
yolox-m | ||
yolox-l | ||
yolox-x | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters