mirzak / meta-coral

Yocto/OE-core BSP Layer for Coral Dev Board
MIT License
40 stars 21 forks source link

python3-edgetpuvision and edgetpu-demo are broken (zeus) #29

Open mirzak opened 4 years ago

mirzak commented 4 years ago

Trying to launch edgetpu-demo --stream, gives the following error:

INFO:edgetpuvision.streaming.server:New web connection from 192.168.1.120:37978               
INFO:edgetpuvision.streaming.server:Number of active clients: 2                               
INFO:edgetpuvision.streaming.server:[192.168.1.120:37978] Rx thread finished                  
INFO:edgetpuvision.streaming.server:Camera start recording                                    
filesrc location=/usr/share/edgetpudemo/video_stream.mp4 ! qtdemux ! tee name=t               
t. ! queue max-size-buffers=1 ! h264parse ! video/x-h264,stream-format=byte-stream,alignment=n
al ! appsink name=h264sink emit-signals=True max-buffers=1 drop=False sync=False              
t. ! queue max-size-buffers=1 ! decodebin ! glfilterbin filter=glbox ! video/x-raw,format=RGB,
width=300,height=300 ! appsink name=appsink emit-signals=True max-buffers=1 drop=True sync=Fal
se                                                                                            
INFO:edgetpuvision.streaming.server:[192.168.1.120:37978] Tx thread finished                  
INFO:OpenGL.acceleratesupport:OpenGL_accelerate module loaded                                 
INFO:OpenGL.arrays.arraydatatype:Using accelerated ArrayDatatype                              
INFO:edgetpuvision.streaming.server:[192.168.1.120:37978] Stopping...                         
INFO:edgetpuvision.streaming.server:[192.168.1.120:37978] Stopped.                            
INFO:edgetpuvision.streaming.server:Number of active clients: 1                               
WARNING:OpenGL.arrays.numpymodule:Unable to load numpy_formathandler accelerator from OpenGL_a
ccelerate                                                                                     
Traceback (most recent call last):                                                            
  File "/usr/lib/gstreamer-1.0/python/glbox.py", line 203, in do_gl_start                     
    glVertexAttribPointer.baseFunction(a_position, 2, GL_FLOAT, GL_FALSE, 0, None)            
AttributeError: 'glVertexAttribPointer' object has no attribute 'baseFunction'                
Error: gst-library-error-quark: Subclass failed to initialize. (3): ../../../../git/gst-libs/g
st/gl/gstglbasefilter.c(401): gst_gl_base_filter_decide_allocation (): /GstPipeline:pipeline0/
GstGLFilterBin:glfilterbin0/glbox+GlBox:filter                                                
Traceback (most recent call last):                                                            
  File "/usr/lib/gstreamer-1.0/python/glbox.py", line 203, in do_gl_start                     
    glVertexAttribPointer.baseFunction(a_position, 2, GL_FLOAT, GL_FALSE, 0, None)            
AttributeError: 'glVertexAttribPointer' object has no attribute 'baseFunction'
mirzak commented 4 years ago

The same applies for running e.g

edgetpu_classify \
--source /dev/video1:YUY2:1920x1080:30/1 \
--model models/mobilenet_v2_1.0_224_quant_edgetpu.tflite \
--labels models/imagenet_labels.txt

edgetpu_classify_server \
--source /dev/video1:YUY2:1920x1080:30/1 \
--model models/mobilenet_v2_1.0_224_quant_edgetpu.tflite \
--labels models/imagenet_labels.txt
mirzak commented 4 years ago

Removing the usage of baseFunction it proceeds but then hits a new error

Error: gst-library-error-quark: Subclass failed to initialize. (3): ../../../../git/gst-libs/g
st/gl/gstglbasefilter.c(401): gst_gl_base_filter_decide_allocation (): /GstPipeline:pipeline0/
GstGLFilterBin:glfilterbin0/glbox+GlBox:filter                                                
Traceback (most recent call last):                                                            
  File "/usr/lib/gstreamer-1.0/python/glbox.py", line 203, in do_gl_start                     
    glVertexAttribPointer(a_position, 2, GL_FLOAT, GL_FALSE, 0, None)                         
  File "latebind.pyx", line 44, in OpenGL_accelerate.latebind.Curry.__call__ (src/latebind.c:1
201)                                                                                          
  File "/usr/lib/python3.7/site-packages/OpenGL/GLES2/VERSION/GLES2_2_0.py", line 399, in glVe
rtexAttribPointer                                                                             
    array = ArrayDatatype.asArray( pointer, type )                                            
NameError: name 'ArrayDatatype' is not defined  

This looks like there is something wrong with the PyOpengl-accelerate recipe, but can not see what right now. This exists,

/usr/lib/python3.7/site-packages/OpenGL/arrays/arraydatatype.py

Above defines the ArrayDatatype class. So paths?

InesTlili commented 4 years ago

Any progress on this ?

mirzak commented 4 years ago

Not much unfortunately.