Skip to content

Scaled YoloV4 tensorrt implementation using TensorRT C++ API.

License

Notifications You must be signed in to change notification settings

makaveli10/scaled-yolov4-tensorrt

Repository files navigation

scaled-yolov4

The Pytorch implementation is from WongKinYiu/ScaledYOLOv4 yolov4-csp branch. It can load yolov4-csp.cfg and yolov4-csp.weights(from AlexeyAB/darknet).

Config

  • Input shape INPUT_H, INPUT_W defined in yololayer.h
  • Number of classes CLASS_NUM defined in yololayer.h
  • FP16/FP32 can be selected by the macro USE_FP16 in yolov4_csp.cpp
  • GPU id can be selected by the macro DEVICE in yolov4_csp.cpp
  • NMS thresh NMS_THRESH in yolov4_csp.cpp
  • bbox confidence threshold BBOX_CONF_THRESH in yolov4_csp.cpp
  • BATCH_SIZE in yolov4_csp.cpp

How to run

  1. generate yolov4_csp.wts from pytorch implementation with yolov4-csp.cfg and yolov4-csp.weights.
git clone https://github.com/makaveli10/scaled-yolov4.git
git clone -b yolov4-csp https://github.com/WongKinYiu/ScaledYOLOv4.git
// download yolov4-csp.weights from https://github.com/WongKinYiu/ScaledYOLOv4/tree/yolov4-csp#yolov4-csp
cp scaled-yolov4/gen_wts.py {ScaledYOLOv4/}
cd {ScaledYOLOv4/}
python gen_wts.py yolov4-csp.weights
// a file 'yolov4_csp.wts' will be generated.
  1. put yolov4_csp.wts into scaled-yolov4/, build and run
mv yolov4_csp.wts scaled-yolov4/
cd scaled-yolov4/
mkdir build
cd build
cmake ..
make
sudo ./yolov4csp -s                          // serialize model to plan file i.e. 'yolov4csp.engine'
sudo ./yolov4csp -d ../samples               // deserialize plan file and run inference, the images in samples will be processed.
  1. check the images generated, as follows. _zidane.jpg and _bus.jpg

Thanks to wang-xinyu/tensorrtx for all the resources.

About

Scaled YoloV4 tensorrt implementation using TensorRT C++ API.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published