Repository for Single Shot MultiBox Detector and its variants, implemented with pytorch, python3.
Repository for Single Shot MultiBox Detector and its variants, implemented with pytorch, python3. This repo is easy to setup and has plenty of visualization methods. We hope this repo can help people have a better understanding for ssd-like model and help people train and deploy the ssds model easily.
Currently, it contains these features:
This repo is depended on the work of ODTK, Detectron and Tensorflow Object Detection API. Thanks for their works.
Notice The pretrain model for the current version does not finished yet, please check the previous version for enrich pretrain models.
conda install pytorch torchvision cudatoolkit=10.2 -c pytorch
git clone https://github.com/ShuangXieIrene/ssds.pytorch.git
cd ssds.pytorch
python setup.py clean -a install
Currently, nvidia DALI and apex is not include in the requirements.txt and need to install manually.
pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/cuda/10.0 nvidia-dali
git clone https://github.com/NVIDIA/apex
cd apex
pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./
git clone https://github.com/ShuangXieIrene/ssds.pytorch.git
docker build -t ssds:local ./ssds.pytorch/
docker run --gpus all -it --rm -v /data:/data ssds:local
Defined the network in a config file and tweak the config file based on the visualized anchor boxes
python -m ssds.utils.visualize -cfg experiments/cfgs/tests/test.yml
# basic training
python -m ssds.utils.train -cfg experiments/cfgs/tests/test.yml
# parallel training
python -m torch.distributed.launch --nproc_per_node={num_gpus} -m ssds.utils.train_ddp -cfg experiments/cfgs/tests/test.yml
python -m ssds.utils.train -cfg experiments/cfgs/tests/test.yml -e
python -m ssds.utils.export -cfg experiments/cfgs/tests/test.yml -c best_mAP.pth -h