Skip to content

Commit

Permalink
Update docs
Browse files Browse the repository at this point in the history
  • Loading branch information
shinya7y committed Sep 8, 2021
1 parent 4cfd0ac commit c622acf
Show file tree
Hide file tree
Showing 5 changed files with 155 additions and 8 deletions.
39 changes: 37 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ https://arxiv.org/abs/2103.14027

## Changelog

- recent:
- 21.09 (Sept. 2021):
- Support gradient accumulation to simulate large batch size with few GPUs ([example](configs/manga109/universenet50_2008_fp16_1x4x4_mstrain_480_960_1x_manga109s.py))
- Add codes for PVT, PVTv2, DDOD
- Add codes for CBNetV2, PVT, PVTv2, DDOD
- Update and fix codes for mmdet 2.14.0, mmcv-full 1.3.9
- 21.04 (Apr. 2021):
- Propose [Universal-Scale object detection Benchmark (USB)](https://arxiv.org/abs/2103.14027)
Expand Down Expand Up @@ -39,6 +39,7 @@ https://arxiv.org/abs/2103.14027
Methods and architectures:

- [x] [UniverseNets (arXiv 2021)](configs/universenet/)
- [x] [CBNetV2 (arXiv 2021)](configs/cbnet/)
- [x] [PVT (ICCV 2021), PVTv2 (arXiv 2021)](configs/pvt/)
- [x] [Swin Transformer (ICCV 2021)](configs/swin/)
- [x] [DDOD (ACMMM 2021)](configs/ddod/)
Expand All @@ -55,6 +56,40 @@ Benchmarks and datasets:
- [x] [Manga109-s dataset (MTAP 2017, IEEE MultiMedia 2020)](configs/manga109/)
- [x] [NightOwls dataset (ACCV 2018)](configs/nightowls/)

## Usage

### Installation

See [get_started.md](docs/get_started.md).

### Basic Usage

See [MMDetection documents](#getting-started).
Especially, see [this document](docs/1_exist_data_model.md) to evaluate and train existing models on COCO.

### Examples

We show examples to evaluate and train UniverseNet-20.08 on COCO with 4 GPUs.

```bash
# evaluate pre-trained model
mkdir -p ${HOME}/data/checkpoints/
wget -P ${HOME}/data/checkpoints/ https://github.com/shinya7y/UniverseNet/releases/download/20.08/universenet50_2008_fp16_4x4_mstrain_480_960_2x_coco_20200815_epoch_24-81356447.pth
CONFIG_FILE=configs/universenet/universenet50_2008_fp16_4x4_mstrain_480_960_2x_coco.py
CHECKPOINT_FILE=${HOME}/data/checkpoints/universenet50_2008_fp16_4x4_mstrain_480_960_2x_coco_20200815_epoch_24-81356447.pth
GPU_NUM=4
bash tools/dist_test.sh ${CONFIG_FILE} ${CHECKPOINT_FILE} ${GPU_NUM} --eval bbox

# train model
CONFIG_FILE=configs/universenet/universenet50_2008_fp16_4x4_mstrain_480_960_2x_coco.py
CONFIG_NAME=$(basename ${CONFIG_FILE} .py)
WORK_DIR="${HOME}/logs/coco/${CONFIG_NAME}_`date +%Y%m%d_%H%M%S`"
GPU_NUM=4
bash tools/dist_train.sh ${CONFIG_FILE} ${GPU_NUM} --work-dir ${WORK_DIR} --seed 0
```

Even if you have one GPU, we recommend using `tools/dist_train.sh` and `tools/dist_test.sh` to avoid [a SyncBN issue](https://github.com/open-mmlab/mmdetection/issues/847#issuecomment-504421173).

## Citation

```
Expand Down
4 changes: 2 additions & 2 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ RUN pip install mmcv-full==1.3.8 -f https://download.openmmlab.com/mmcv/dist/cu1

# Install MMDetection
RUN conda clean --all
RUN git clone https://github.com/open-mmlab/mmdetection.git /mmdetection
WORKDIR /mmdetection
RUN git clone https://github.com/shinya7y/UniverseNet.git /UniverseNet
WORKDIR /UniverseNet
ENV FORCE_CUDA="1"
RUN pip install -r requirements/build.txt
RUN pip install --no-cache-dir -e .
9 changes: 9 additions & 0 deletions docs/envs/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
## Testing environment

### UniverseNet 21.09 (Sept. 2021)

- Ubuntu 18.04
- Python 3.7
- PyTorch 1.7.1
- CUDA 10.2
- GCC 7.5
- mmcv-full 1.3.9

### UniverseNet 20.10 (Oct. 2020)

- Ubuntu 18.04
Expand Down
103 changes: 103 additions & 0 deletions docs/envs/conda_env_universenet_2109.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
name: univ2109
channels:
- pytorch
- conda-forge
- defaults
dependencies:
- _libgcc_mutex=0.1=main
- _openmp_mutex=4.5=1_gnu
- asynctest=0.13.0=py_0
- attrs=21.2.0=pyhd3eb1b0_0
- blas=1.0=mkl
- ca-certificates=2021.7.5=h06a4308_1
- certifi=2021.5.30=py37h06a4308_0
- cudatoolkit=10.2.89=hfd86e86_1
- cython=0.29.23=py37h2531618_0
- flake8=3.9.2=pyhd3eb1b0_0
- freetype=2.10.4=h5ab3b9f_0
- importlib-metadata=3.10.0=py37h06a4308_0
- importlib_metadata=3.10.0=hd3eb1b0_0
- iniconfig=1.1.1=pyhd3eb1b0_0
- intel-openmp=2021.2.0=h06a4308_610
- isort=4.3.21=py37_0
- jpeg=9b=h024ee3a_2
- lcms2=2.12=h3be6417_0
- ld_impl_linux-64=2.35.1=h7274673_9
- libffi=3.3=he6710b0_2
- libgcc-ng=9.3.0=h5101ec6_17
- libgfortran-ng=7.5.0=ha8ba4b0_17
- libgfortran4=7.5.0=ha8ba4b0_17
- libgomp=9.3.0=h5101ec6_17
- libpng=1.6.37=hbc83047_0
- libprotobuf=3.15.8=h780b84a_0
- libstdcxx-ng=9.3.0=hd4cf53a_17
- libtiff=4.2.0=h85742a9_0
- libuv=1.40.0=h7b6447c_0
- libwebp-base=1.2.0=h27cfd23_0
- lz4-c=1.9.3=h2531618_0
- mccabe=0.6.1=py37_1
- mkl=2021.2.0=h06a4308_296
- mkl-service=2.3.0=py37h27cfd23_1
- mkl_fft=1.3.0=py37h42c9631_2
- mkl_random=1.2.1=py37ha9443f7_2
- more-itertools=8.8.0=pyhd3eb1b0_0
- ncurses=6.2=he6710b0_1
- ninja=1.10.2=hff7bd54_1
- numpy=1.20.2=py37h2d18471_0
- numpy-base=1.20.2=py37hfae3a4d_0
- olefile=0.46=py37_0
- onnx=1.9.0=py37h284874a_0
- openjpeg=2.3.0=h05c96fa_1
- openssl=1.1.1k=h27cfd23_0
- packaging=21.0=pyhd3eb1b0_0
- pillow=8.3.1=py37h2c7a002_0
- pip=21.1.3=py37h06a4308_0
- pluggy=0.13.1=py37h06a4308_0
- protobuf=3.15.8=py37hcd2ae1e_0
- py=1.10.0=pyhd3eb1b0_0
- pycodestyle=2.7.0=pyhd3eb1b0_0
- pyflakes=2.3.1=pyhd3eb1b0_0
- pyparsing=2.4.7=pyhd3eb1b0_0
- pytest=6.2.4=py37h06a4308_2
- python=3.7.10=h12debd9_4
- python_abi=3.7=2_cp37m
- pytorch=1.7.1=py3.7_cuda10.2.89_cudnn7.6.5_0
- readline=8.1=h27cfd23_0
- scipy=1.6.2=py37had2a1c9_1
- setuptools=52.0.0=py37h06a4308_0
- six=1.16.0=pyhd3eb1b0_0
- sqlite=3.36.0=hc218d9a_0
- tk=8.6.10=hbc83047_0
- toml=0.10.2=pyhd3eb1b0_0
- torchvision=0.8.2=py37_cu102
- typing-extensions=3.10.0.0=hd3eb1b0_0
- typing_extensions=3.10.0.0=pyh06a4308_0
- wheel=0.36.2=pyhd3eb1b0_0
- xz=5.2.5=h7b6447c_0
- zipp=3.5.0=pyhd3eb1b0_0
- zlib=1.2.11=h7b6447c_3
- zstd=1.4.9=haebb681_0
- pip:
- addict==2.4.0
- appdirs==1.4.4
- cfgv==3.3.0
- cycler==0.10.0
- distlib==0.3.2
- filelock==3.0.12
- flatbuffers==2.0
- identify==2.2.11
- kiwisolver==1.3.1
- matplotlib==3.4.2
- mmcv-full==1.3.9
- nodeenv==1.6.0
- onnxruntime==1.8.1
- opencv-python==4.5.2.54
- pre-commit==2.13.0
- pycocotools==2.0.2
- python-dateutil==2.8.1
- pyyaml==5.4.1
- terminaltables==3.1.0
- timm==0.4.12
- virtualenv==20.4.7
- xdoctest==0.15.5
- yapf==0.31.0
8 changes: 4 additions & 4 deletions docs/get_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,8 +117,8 @@ Or, you can install MMDetection manually:
2. Clone the MMDetection repository.

```shell
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
git clone https://github.com/shinya7y/UniverseNet.git
cd UniverseNet
```

3. Install build requirements and then install MMDetection.
Expand Down Expand Up @@ -207,8 +207,8 @@ conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.1 -c pytorch -y
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.6.0/index.html
# install mmdetection
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
git clone https://github.com/shinya7y/UniverseNet.git
cd UniverseNet
pip install -r requirements/build.txt
pip install -v -e .
```
Expand Down

0 comments on commit c622acf

Please sign in to comment.