/pyretinanet-tensorrt

python wrapper over c ++ inference model retinanet on the tensorrt framework

Primary LanguageC++

Python wrapper over NN tensorrt-retinanet

Check out this repository (https://github.com/NVIDIA/retinanet-examples) to find out how to get weights for the model.

Build

git submodule update --init --recursive

Requirements

Jetson TX2/XAVIER with JetPack 4.2.3 Developer Preview (CUDA 10, cuDNN 7.3.1, TensorRT 5.0.3, OpenCV 3.3.1)

sudo apt-get update
sudo apt-get install -y gcc g++ vim
sudo apt-get install -y libpython3-dev
sudo apt-get install -y libboost-all-dev
sudo apt-get install -y libopencv-dev
sudo apt-get install -y python-opencv python3-numpy
sudo apt-get install -y python3-pip

sudo pip3 install --upgrade pip
sudo pip3 install setuptools
sudo apt-get install -y libpython3-all-dev

make

mkdir cmake-build-debug
cd cmake-build-debug
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_CUDA_FLAGS="--expt-extended-lambda -std=c++11" -DPYTHON_VERSION="3.6" -DBOOST_PYTHON_VERSION="python-py36" .. && sudo make -j4 install

Run

python3 example/inference.py

Convert weights

You can get onnx weights from this link. Weights were obtained by training on the semantic drone dataset https://www.tugraz.at/index.php?id=22387 To convert weights, use cpp api.

./export retinanet_rn50.onnx retinanet_rn50.plan