JDet
JDet is Object Detection Framework based on Jittor.
Install
JDet environment requirements:
- System: Linux(e.g. Ubuntu/CentOS/Arch), macOS, or Windows Subsystem of Linux (WSL)
- Python version >= 3.7
- CPU compiler (require at least one of the following)
- g++ (>=5.4.0)
- clang (>=8.0)
- GPU compiler (optional)
- nvcc (>=10.0 for g++ or >=10.2 for clang)
- GPU library: cudnn-dev (recommend tar file installation, reference link)
Step 1: Install the requirements
git clone https://github.com/li-xl/JDet
cd JDet
python -m pip install -r requirements.txt
If you have any installation problems for Jittor, please refer to Jittor
Step 2: Install JDet
cd JDet
python setup.py install
If you don't have permission for install,please add --user
.
Or use PYTHONPATH
You can add export PYTHONPATH=$PYTHONPATH:{you_own_path}/JDet/python
into .bashrc
source .bashrc
Getting Started
Data
DOTA Dataset documents are avaliable in the dota.md
FAIR Dataset documents are avaliable in the fair.md
Config
Config documents are avaliable in the config.md
Train
python tools/run_net.py --config-file=configs/s2anet_r50_fpn_1x_dota.py --task=train
Test
If you want to test the downloaded trained models, please set resume_path={you_checkpointspath}
in the last line of the config file.
python tools/run_net.py --config-file=configs/s2anet_r50_fpn_1x_dota.py --task=test
Build a New Project
In this document, we will introduce how to build a new project(model) with JDet.
We need to install JDet first, and build a new project by:
mkdir $PROJECT_PATH$
cd $PROJECT_PATH$
cp $JDet_PATH$/tools/run_net.py ./
mkdir configs
Then we can build and edit configs/base.py
like $JDet_PATH$/configs/retinanet.py
.
If we need to use a new layer, we can define this layer at $PROJECT_PATH$/layers.py
and import layers.py
in $PROJECT_PATH$/run_net.py
, then we can use this layer in config files.
Then we can train/test this model by:
python run_net.py --config-file=configs/base.py --task=train
python run_net.py --config-file=configs/base.py --task=test
Models
Models | Dataset | Train Aug | Test Aug | Optim | Lr schd | mAP | Paper | Config | Download |
---|---|---|---|---|---|---|---|---|---|
S2ANet-R50-FPN | DOTA1.0 | flip | - | SGD | 1x | 74.11 | arxiv | config | model |
S2ANet-R50-FPN | DOTA1.0 | flip+ra90+bc | - | SGD | 1x | 76.40 | arxiv | config | model |
S2ANet-R50-FPN | DOTA1.0 | flip+ra90+bc+ms | ms | SGD | 1x | 79.72 | arxiv | config | model |
S2ANet-R101-FPN | DOTA1.0 | Flip | - | SGD | 1x | 74.28 | arxiv | config | model |
Gliding-R50-FPN | DOTA1.0 | flip+ms | ms | SGD | 1x | 67.42 | arxiv | config | model |
Gliding-R101-FPN | DOTA1.0 | flip+ms+ra90+bc | ms | SGD | 1x | 69.53 | arxiv | config | model |
RetinaNet-R50-FPN | DOTA1.0 | - | - | SGD | - | 62.503 | arxiv | config | model pretrained |