FastMOT: Missing file libyolo_layer.so and serialization error

Hi @GeekAlexis

When I tried running an inference with provided yolov4_crowdhuman.onnx & yolov4_crowdhuman.trt . Everything ran successfully.

I used YOLOV4-Tiny model converted it in to yolov4-tiny.onnx & yolov4-tiny.trt and made the necessary changes as explained in the GitHub repo.

It ran successfully on my Linux 18.04 Ubuntu Machine but failed due to following error on Jetson Xavier. Its regarding some missing file but

libyolo_layer.so file is there in plugins directory. It will be very helpful if you Can you provide me any advice on this issue ?

tdc@tdc:~/Downloads/FastMOT$ python3 app.py --input_uri c1.mp4 --mot
Opening in BLOCKING MODE
Opening in BLOCKING MODE 
NvMMLiteOpen : Block : BlockType = 261 
NVMEDIA: Reading vendor.tegra.display-size : status: 6 
NvMMLiteBlockCreate : Block : BlockType = 261 
[ WARN:0] global /home/tdc/opencv_build/opencv/modules/videoio/src/cap_gstreamer.cpp (1044) open OpenCV | GStreamer warning: unable to query duration of stream
[ WARN:0] global /home/tdc/opencv_build/opencv/modules/videoio/src/cap_gstreamer.cpp (1081) open OpenCV | GStreamer warning: Cannot query video position: status=1, value=1, duration=-1
2021-06-14 18:01:41 [    INFO] 1280x720 stream @ 25 FPS
2021-06-14 18:01:41 [    INFO] Loading detector model...
Traceback (most recent call last):
  File "/home/tdc/Downloads/FastMOT/fastmot/utils/inference.py", line 31, in __init__
    ctypes.cdll.LoadLibrary(self.model.PLUGIN_PATH)
  File "/usr/lib/python3.6/ctypes/__init__.py", line 426, in LoadLibrary
    return self._dlltype(name)
  File "/usr/lib/python3.6/ctypes/__init__.py", line 348, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /home/tdc/Downloads/FastMOT/fastmot/plugins/libyolo_layer.so: cannot open shared object file: No such file or directory

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "app.py", line 98, in <module>
    main()
  File "app.py", line 51, in main
    draw=draw, verbose=args.verbose)
  File "/home/tdc/Downloads/FastMOT/fastmot/mot.py", line 51, in __init__
    self.detector = YOLODetector(self.size, config['yolo_detector'])
  File "/home/tdc/Downloads/FastMOT/fastmot/detector.py", line 183, in __init__
    self.backend = InferenceBackend(self.model, 1)
  File "/home/tdc/Downloads/FastMOT/fastmot/utils/inference.py", line 33, in __init__
    raise RuntimeError('Plugin not found') from err
RuntimeError: Plugin not found

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 17 (9 by maintainers)

Most upvoted comments

Following anchors worked for YOLOV4-tiny .

    ANCHORS = [[81, 82, 135, 169, 344, 319],
               [23, 27, 37, 58, 81, 82]]

Thank you @GeekAlexis . Really thank you for your explanation and patience.

TRT engine and the plugin are platform dependent so you can’t build them on another PC.

Simply remove the yolov4-tiny.trt file and app.py will rebuild the engine from ONNX on your Jetson.