isarsoft / yolov4-triton-tensorrt

This repository deploys YOLOv4 as an optimized TensorRT engine to Triton Inference Server
http://www.isarsoft.com
Other
276 stars 63 forks source link

C++ client produces no detections #51

Closed MoaazAbdulrahman closed 2 years ago

MoaazAbdulrahman commented 2 years ago

Hello @olibartfast

Thank you for your efforts. I am running the c++ client but I faced some issue. First I needed to change model input and output name. I also need to change the namespaces in common.hpp file to be compatible with the latest version of triton.

Now the c++ code client works with no errors but I get no detections. However when I run the python client while loading the same model I get bounding boxes and detection.

Could you please check the code and let me know if I need to change anthing to run the c++ client with this repo release.

Thanks.

olibartfast commented 2 years ago

Hi, my client example works with wang-xinyu implementation of yolo-trt plugin (release v1.3.0 of this repo), doesn't work with current implementation on master branch(jkjung-avt implementation) , I should change input/output layer names as you rightly wrote, but also pre and post processing part according to his code, I don't know when I'll have the time to do it

philipp-schmidt commented 2 years ago

The current main branch has changes in preparation for a v1.4.0 release. To use the c++ client check out the v1.3.0 release tag.

Abdob commented 2 years ago

has the yolov4.wts file changed in the google drive? it fails to produce the .engine file using the v1.3 release

olibartfast commented 2 years ago

for c++ client try to use yolov4.wts weights from tensorrtx-modelzoo

Abdob commented 2 years ago

hi @olibartfast

I downloaded the yolov4.wts file from tensorrtx-modelzoo when attempting to create the .engine file in v1.3.0 I get this error:

Creating builder Creating model main: /yolov4-triton-tensorrt/layers/yololayer.cu:350: virtual nvinfer1::IPluginV2IOExt nvinfer1::YoloPluginCreator::createPlugin(const char, const nvinfer1::PluginFieldCollection*): Assertion `!strcmp(name, getPluginName())' failed. Aborted (core dumped)

olibartfast commented 2 years ago

ok , which triton server release are you using to create the engine? The code in v1.3.0 is a bit old now unfortunately and doesn't support tensorRT 8 (i.e. Triton server > r21.06), I just tested myself and i created correctly the .engine using triton server r21.05

Abdob commented 2 years ago

Im using nvcr.io/nvidia/tensorrt:21.05-py3 i will try triton server

Abdob commented 2 years ago

I must been having hiccups with the .wts file, I'm getting the engine file now with the correct .wts file and tensorrt:21.05-py Thank you