libmp-example icon indicating copy to clipboard operation
libmp-example copied to clipboard

Error when using GPU

Open deathcrow opened this issue 2 years ago • 1 comments

Hi, I just try to use your demo to run mediapipe holistic.

First, I modify the graph to "holistic_tracking_cpu.pbtxt", modify InputStream, OutputStream, get_landmarks function, and it worked.

Second, because cpu speed is too slow, I want to use gpu instead. I modify the graph to "holistic_tracking_gpu.pbtxt", it not worked, then I use MEDIAPIPE_DISABLE_GPU=0 to compile libmp.so, compile went wrong

ERROR: /workspace/mediapipe/mediapipe/calculators/tflite/BUILD:273:11: Compiling mediapipe/calculators/tflite/tflite_converter_calculator.cc failed: (Exit 1): gcc failed: error executing command /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections ... (remaining 179 arguments skipped)

Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
In file included from /usr/include/EGL/eglplatform.h:134,
                 from /usr/include/EGL/egl.h:39,
                 from external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/portable_gl31.h:21,
                 from external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/gl_buffer.h:27,
                 from ./mediapipe/util/tflite/config.h:39,
                 from mediapipe/calculators/tflite/tflite_converter_calculator.cc:24:
external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/gl_buffer.h:63:9: error: expected unqualified-id before 'int'
   absl::Status Read(absl::Span<T> data) const;
         ^~~~~~
external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/gl_buffer.h:67:9: error: expected unqualified-id before 'int'
   absl::Status Write(absl::Span<const T> data);
         ^~~~~~
external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/gl_buffer.h:72:9: error: expected unqualified-id before 'int'
   absl::Status MappedRead(
         ^~~~~~
external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/gl_buffer.h:78:9: error: expected unqualified-id before 'int'
   absl::Status MappedWrite(
         ^~~~~~
external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/gl_buffer.h:81:9: error: expected unqualified-id before 'int'
   absl::Status MakeView(size_t offset, size_t bytes_size, GlBuffer* gl_buffer);
         ^~~~~~
external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/gl_buffer.h:87:9: error: expected unqualified-id before 'int'
   absl::Status BindToIndex(uint32_t index) const;
         ^~~~~~
external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/gl_buffer.h:116:7: error: expected unqualified-id before 'int'
 absl::Status CopyBuffer(const GlBuffer& read_buffer,
       ^~~~~~
external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/gl_buffer.h:119:7: error: expected unqualified-id before 'int'
 absl::Status GetSSBOSize(GLuint id, int64_t* size_bytes);
       ^~~~~~
external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/gl_buffer.h:127:7: error: expected unqualified-id before 'int'
 absl::Status CreateReadWriteShaderStorageBuffer(uint32_t num_elements,
       ^~~~~~
external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/gl_buffer.h:133:7: error: expected unqualified-id before 'int'
 absl::Status CreateReadOnlyShaderStorageBuffer(absl::Span<const T> data,
       ^~~~~~
external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/gl_buffer.h:138:7: error: expected unqualified-id before 'int'
 absl::Status AppendFromBuffer(const GlBuffer& buffer, std::vector<T>* data) {
       ^~~~~~
external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/gl_buffer.h:172:7: error: expected unqualified-id before 'int'
 absl::Status CreatePersistentBuffer(size_t size, GlPersistentBuffer* gl_buffer);
       ^~~~~~
external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/gl_buffer.h:246:7: error: expected unqualified-id before 'int'
 absl::Status CreateReadWriteShaderStorageBuffer(uint32_t num_elements,
       ^~~~~~
external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/gl_buffer.h:260:7: error: expected unqualified-id before 'int'
 absl::Status CreateReadOnlyShaderStorageBuffer(absl::Span<const T> data,
       ^~~~~~
external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/gl_buffer.h:273:7: error: expected unqualified-id before 'int'
 absl::Status GlBuffer::Read(absl::Span<T> data) const {
       ^~~~~~
external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/gl_buffer.h:286:7: error: expected unqualified-id before 'int'
 absl::Status GlBuffer::Write(absl::Span<const T> data) {
       ^~~~~~
external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/gl_buffer.h:297:7: error: expected unqualified-id before 'int'
 absl::Status GlBuffer::MappedRead(
       ^~~~~~
external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/gl_buffer.h:313:7: error: expected unqualified-id before 'int'
 absl::Status GlBuffer::MappedWrite(
       ^~~~~~
mediapipe/calculators/tflite/tflite_converter_calculator.cc:74:26: error: 'tflite::gpu::gl::CreateReadWriteShaderStorageBuffer' has not been declared
 using ::tflite::gpu::gl::CreateReadWriteShaderStorageBuffer;

Last, I use this script to compile libmp.so

bazel build -c opt --copt -DMESA_EGL_NO_X11_HEADERS --copt -DEGL_NO_X11 --define MEDIAPIPE_DISABLE_GPU=0 mediapipe/examples/desktop/libmp:libmp.so

compile worked.

But when I run libmp_example, this error happened

WARNING: Logging before InitGoogleLogging() is written to STDERR 
I20230111 18:46:09.639328 74859 libmp_impl.cpp:31] Successfully initialized LibMP graph   
I20230111 18:46:09.641311 74859 libmp_impl.cpp:47] Failed to start calculator graph 
Input video ../1.mp4 
I20230111 18:46:09.982609 74859 libmp_impl.cpp:73] Failed to add packet to input stream. Call m_graph.WaitUntilDone() to see error (or destroy LibMP object) 
Process() failed!  
I20230111 18:46:10.000988 74859 libmp_impl.cpp:15] Shutting down.  
I20230111 18:46:10.001063 74859 libmp_impl.cpp:23] Error in CloseInputStream(): INTERNAL: 

Because no more log for this error, I can't figure out how to fix it, it seem that happen when initializing the mediapipe calculator, Have u met this error before?

deathcrow avatar Jan 11 '23 11:01 deathcrow