I am trying to run yolov8 pose-estimation example from Hailo-Application-Code-Examples repository.
The example returns the following message:
-I-----------------------------------------------
-I- Network Name
-I-----------------------------------------------
-I- IN: yolov8s_pose/input_layer1
-I-----------------------------------------------
-I- OUT: yolov8s_pose/conv43
-I- OUT: yolov8s_pose/conv44
-I- OUT: yolov8s_pose/conv45
-I- OUT: yolov8s_pose/conv57
-I- OUT: yolov8s_pose/conv58
-I- OUT: yolov8s_pose/conv59
-I- OUT: yolov8s_pose/conv70
-I- OUT: yolov8s_pose/conv71
-I- OUT: yolov8s_pose/conv72
-I-----------------------------------------------
[ WARN:[email protected]] global /usr/src/debug/opencv/4.5.5-r0/git/modules/videoio/src/cap_gstreamer.cpp (1374) open OpenCV | GStreamer warning: unable to query duration of stream
[ WARN:[email protected]] global /usr/src/debug/opencv/4.5.5-r0/git/modules/videoio/src/cap_gstreamer.cpp (1405) open OpenCV | GStreamer warning: Cannot query video position: status=1, value=0, duration=-1
-I- Started write thread: yolov8s_pose/input_layer1 (640, 640, 3)
-I- Started read thread: yolov8s_pose/conv43 (80, 80, 64)
-I- Started read thread: yolov8s_pose/conv44 (80, 80, 1)
-I- Started read thread: yolov8s_pose/conv45 (80, 80, 51)
-I- Started read thread: yolov8s_pose/conv57 (40, 40, 64)
-I- Started read thread: yolov8s_pose/conv58 (40, 40, 1)
-I- Started read thread: yolov8s_pose/conv59 (40, 40, 51)
-I- Started read thread: yolov8s_pose/conv70 (20, 20, 64)
-I- Started read thread: yolov8s_pose/conv71 (20, 20, 1)
-I- Started read thread: yolov8s_pose/conv72 (20, 20, 51)
-I- Starting postprocessing
[ WARN:[email protected]] global /usr/src/debug/opencv/4.5.5-r0/git/modules/videoio/src/cap_gstreamer.cpp (1374) open OpenCV | GStreamer warning: unable to query duration of stream
[ WARN:[email protected]] global /usr/src/debug/opencv/4.5.5-r0/git/modules/videoio/src/cap_gstreamer.cpp (1405) open OpenCV | GStreamer warning: Cannot query video position: status=1, value=0, duration=-1
[HailoRT] [error] CHECK_AS_EXPECTED failed - UserBufferQueueElement12_yolov8s_pose/conv45 (D2H) failed with status=HAILO_TIMEOUT(4) (timeout=10000ms)
[HailoRT] [error] CHECK_AS_EXPECTED failed - UserBufferQueueElement0_yolov8s_pose/conv71 (D2H) failed with status=HAILO_TIMEOUT(4) (timeout=10000ms)
[HailoRT] [error] CHECK_AS_EXPECTED failed - UserBufferQueueElement2_yolov8s_pose/conv58 (D2H) failed with status=HAILO_TIMEOUT(4) (timeout=10000ms)
[HailoRT] [error] CHECK_AS_EXPECTED failed - UserBufferQueueElement3_yolov8s_pose/conv72 (D2H) failed with status=HAILO_TIMEOUT(4) (timeout=10000ms)
Failed reading with status = 4
Failed reading with status = 4
Failed reading with status = 4
Failed reading with status = 4
[HailoRT] [error] CHECK_AS_EXPECTED failed - UserBufferQueueElement15_yolov8s_pose/conv59 (D2H) failed with status=HAILO_TIMEOUT(4) (timeout=10000ms)
[HailoRT] [error] CHECK_AS_EXPECTED failed - UserBufferQueueElement13_yolov8s_pose/conv44 (D2H) failed with status=HAILO_TIMEOUT(4) (timeout=10000ms)
Failed reading with status = 4
Failed reading with status = 4
[HailoRT] [error] Got HAILO_TIMEOUT while waiting for output stream buffer yolov8s_pose/conv43
[HailoRT] [error] Got HAILO_TIMEOUT while waiting for output stream buffer yolov8s_pose/conv57
[HailoRT] [error] Got HAILO_TIMEOUT while waiting for output stream buffer yolov8s_pose/conv70
[HailoRT] [error] CHECK_SUCCESS failed with status=HAILO_TIMEOUT(4)
[HailoRT] [error] CHECK_SUCCESS failed with status=HAILO_TIMEOUT(4)
[HailoRT] [error] CHECK_SUCCESS failed with status=HAILO_TIMEOUT(4)
[HailoRT] [error] CHECK_SUCCESS_AS_EXPECTED failed with status=HAILO_TIMEOUT(4) - HwReadElement4_yolov8s_pose/conv57 (D2H) failed with status=HAILO_TIMEOUT(4)
[HailoRT] [error] CHECK_SUCCESS_AS_EXPECTED failed with status=HAILO_TIMEOUT(4) - HwReadElement1_yolov8s_pose/conv70 (D2H) failed with status=HAILO_TIMEOUT(4)
Failed reading with status = 4
Failed reading with status = 4
[HailoRT] [error] CHECK_SUCCESS_AS_EXPECTED failed with status=HAILO_TIMEOUT(4) - HwReadElement14_yolov8s_pose/conv43 (D2H) failed with status=HAILO_TIMEOUT(4)
Failed reading with status = 4
Read failed with status 4
Failed running inference with status = 4
[HailoRT] [error] Got HAILO_TIMEOUT while waiting for input stream buffer yolov8s_pose/input_layer1
[HailoRT] [error] flush has failed in HwWriteElement5_yolov8s_pose/input_layer1 with status HAILO_TIMEOUT(4)
Multiple GStreamer warnings are returned. I’m not sure if this might cause errors or something else.
In addition, output image is created. It looks identical as original but it has a larger size on disk.
I use the .hef and .jpg files provided in this example and Hailo8 M-Key
Hi @makro,
From what I see, it can be related to either of this two:
“Weak” target machine
Incompatible OpenCV version.
What is your target platform? is it a regular Intel x86 machine or something else?
If you are using an x86 machine, can you try to change your OpenCV version to 4.8.0 for example and see if it works?
I was using platform with RISC-V architecture. I know that it’s not supported architecture but I have succesfully implemented meta-hailo to my risc-v yocto project, so I tried to run some examples.
I have also tried to run examples on my PC and everything works well.
Did you try the HailoRT CLI to run some models without any app? e.g.
hailortcli run model.hef
This will load a model to the Hailo-8, run it for 5 seconds and measure a few key parameters (FPS, PCIe bandwidth). This will show you that the hardware and driver are working and it will give you an indication how fast the model can run.