Zzh-tju / vedadet

A single stage object detector toolbox based on PyTorch

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Introduction

vedadet is a single stage object detector toolbox based on PyTorch.

Features

  • Modular Design

    We re-design MMDetection based on our taste and needs. Specifically, we decompose detector into four parts: data pipeline, model, postprocessing and criterion which make it easy to convert PyTorch model into TensorRT engine and deploy it on NVIDIA devices such as Tesla V100, Jetson Nano and Jetson AGX Xavier, etc.

  • Support of several popular single stage detector

    The toolbox supports several popular single stage detector out of the box, e.g. RetinaNet, FCOS, etc.

  • Friendly to TensorRT

    Detectors can be easily converted to TensorRT engine.

  • Easy to deploy

    It's simple to deploy the model accelerate by TensorRT on NVIDIA devices through Python front-end or C++ front-end.

License

This project is released under the Apache 2.0 license.

Installation

Requirements

  • Linux
  • Python 3.7+
  • PyTorch 1.6.0 or higher
  • CUDA 10.2 or higher

We have tested the following versions of OS and softwares:

  • OS: Ubuntu 16.04.6 LTS
  • CUDA: 10.2
  • PyTorch 1.6.0
  • Python 3.8.5

Install vedadet

a. Create a conda virtual environment and activate it.

conda create -n vedadet python=3.8.5 -y
conda activate vedadet

b. Install PyTorch and torchvision following the official instructions, e.g.,

conda install pytorch torchvision -c pytorch

c. Clone the vedadet repository.

git clone https://github.com/Media-Smart/vedadet.git
cd vedadet
vedadet_root=${PWD}

d. Install vedadet.

pip install -r requirements/build.txt
pip install -v -e .

Train

a. Config

Modify some configuration accordingly in the config file like configs/trainval/retinanet.py

b. Multi-GPUs training

tools/dist_trainval.sh configs/trainval/retinanet.py "0,1"

c. Single GPU training

python tools/trainval.py configs/trainval/retinanet.py

Test

a. Config

Modify some configuration accordingly in the config file like configs/trainval/retinanet.py

b. Test

python tools/test.py configs/trainval/tinaface/retinanet.py weight_path

Inference

a. Config

Modify some configuration accordingly in the config file like configs/trainval/retinanet.py

b. Inference

python tools/infer.py configs/infer/retinanet.py image_path

Deploy

a. Convert to TensorRT engine

To be done.

b. Inference SDK

To be done.

Contact

This repository is currently maintained by Hongxiang Cai (@hxcai), Yichao Xiong (@mileistone), Yanjia Zhu (@mike112223).

Credits

We got a lot of code from mmcv and mmdetection, thanks to open-mmlab.

About

A single stage object detector toolbox based on PyTorch

License:Apache License 2.0


Languages

Language:Python 86.8%Language:Cuda 7.3%Language:C++ 5.9%Language:Shell 0.0%