[Android 14/15/16] TensorFlow Lite GPU delegate not supported? (ObjectDetection demo issue)

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

[Android 14/15/16] TensorFlow Lite GPU delegate not supported? (ObjectDetection demo issue)

ソリューションへジャンプ
237件の閲覧回数
hank2024
Contributor II

Hi,

I have been testing the TensorFlow Lite Object Detection demo on several Android BSP releases for the i.MX8MQ EVK, but the GPU delegate cannot be enabled successfully.
The inference works correctly on CPU, but when switching to GPU delegate, initialization fails and inference does not start.

Test Environment

Item Version / Detail
SoCNXP i.MX8MQ
Android BSPandroid-16.0.0_1.0.0 / android-15.0.0_2.0.0 / android-14.0.0_1.2.0
DemoTensorFlow Lite Object Detection (from TensorFlow)
GPUVivante GC7000Lite
NPUNot used

 

Problem Details

The app runs fine with CPU inference, but when enabling GPU delegate, it fails to initialize.
Here are some of the relevant logcat messages during GPU mode:

2025-09-11 20:05:58.595  libEGL  E  call to OpenGL ES API with no current context (logged once per thread)
2025-09-11 20:05:55.994  Surface  E  IGraphicBufferProducer::setBufferCount(0) returned Invalid argument
2025-09-11 20:05:56.086  BaseTaskApi  W  Closing an already closed native lib

in the code:

                if (CompatibilityList().isDelegateSupportedOnThisDevice) {
                    baseOptionsBuilder.useGpu()
                    activeDelegate = "GPU"
                } else {
                    objectDetectorListener?.onError("GPU is not supported on this device") // also print this !!!!!!!!!!!!
                }

 

I have check:

In /vendor/lib64/, there are libraries such as libOpenCL.so, libtim-vx.so,
 
Is direct GPU Delegate unsupported on i.MX8MQ even in Android  BSP? (Similar to this Android 13 thread, where VX was recommended for Android 14+.)

 

ラベル(2)
0 件の賞賛
返信
1 解決策
139件の閲覧回数
danielchen
NXP TechSupport
NXP TechSupport

Hi hank:

The stock TFLite GPU delegate is not supported on i.MX8MQ Android BSPs , this is expected due to GPU backend compatibility and NXP's chosen acceleration strategy.  Use VX (TIM-VX) delegate on i.MX8M, and Neutron delegate on i.MX95.

 

元の投稿で解決策を見る

0 件の賞賛
返信
2 返答(返信)
140件の閲覧回数
danielchen
NXP TechSupport
NXP TechSupport

Hi hank:

The stock TFLite GPU delegate is not supported on i.MX8MQ Android BSPs , this is expected due to GPU backend compatibility and NXP's chosen acceleration strategy.  Use VX (TIM-VX) delegate on i.MX8M, and Neutron delegate on i.MX95.

 

0 件の賞賛
返信
131件の閲覧回数
hank2024
Contributor II

Thank you very much for your reply. I have already resolved the issue. I also referred to this document. i.MX TensorFlow Lite on Android User's Guide 

%3CLINGO-SUB%20id%3D%22lingo-sub-2201727%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%5BAndroid%2014%2F15%2F16%5D%20TensorFlow%20Lite%20GPU%20%E3%83%87%E3%83%AA%E3%82%B2%E3%83%BC%E3%83%88%E3%81%AF%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93%E3%81%8B%3F(ObjectDetection%E3%83%87%E3%83%A2%E3%81%AE%E5%95%8F%E9%A1%8C)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2201727%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%3C%2FP%3E%3CP%3Ei.MX8MQ%20EVK%20%E3%81%AE%E3%81%84%E3%81%8F%E3%81%A4%E3%81%8B%E3%81%AE%20Android%20BSP%20%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%81%A7%20TensorFlow%20Lite%3CEM%3E%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%A4%9C%E5%87%BA%3C%2FEM%3E%E3%83%87%E3%83%A2%E3%82%92%E3%83%86%E3%82%B9%E3%83%88%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81GPU%20%E3%83%87%E3%83%AA%E3%82%B2%E3%83%BC%E3%83%88%E3%82%92%E6%AD%A3%E5%B8%B8%E3%81%AB%E6%9C%89%E5%8A%B9%E5%8C%96%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3CBR%20%2F%3E%E6%8E%A8%E8%AB%96%E3%81%AF%20CPU%20%E4%B8%8A%E3%81%A7%E3%81%AF%E6%AD%A3%E5%B8%B8%E3%81%AB%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81GPU%20%E3%83%87%E3%83%AA%E3%82%B2%E3%83%BC%E3%83%88%E3%81%AB%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%82%8B%E3%81%A8%E5%88%9D%E6%9C%9F%E5%8C%96%E3%81%8C%E5%A4%B1%E6%95%97%E3%81%97%E3%80%81%E6%8E%A8%E8%AB%96%E3%81%8C%E9%96%8B%E5%A7%8B%E3%81%95%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3CH4%20id%3D%22toc-hId-200767613%22%20id%3D%22toc-hId-204582844%22%3E%3CSTRONG%3E%E3%83%86%E3%82%B9%E3%83%88%E7%92%B0%E5%A2%83%3C%2FSTRONG%3E%3C%2FH4%3E%3CDIV%20class%3D%22%22%3E%3CDIV%20class%3D%22%22%3E%E3%82%A2%E3%82%A4%E3%83%86%E3%83%A0%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%2F%E8%A9%B3%E7%B4%B0%20%3CTABLE%3E%3CTBODY%3E%3CTR%3E%3CTD%20width%3D%22104.915px%22%20height%3D%2224px%22%3ESoC%3C%2FTD%3E%3CTD%20width%3D%22501.364px%22%20height%3D%2224px%22%3ENXP%20i.MX8MQ%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%20width%3D%22104.915px%22%20height%3D%2224px%22%3EAndroid%20BSP%3C%2FTD%3E%3CTD%20width%3D%22501.364px%22%20height%3D%2224px%22%3EAndroid-16.0.0_1.0.0%20%2F%20Android-15.0.0_2.0.0%20%2F%20Android-14.0.0_1.2.0%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%20width%3D%22104.915px%22%20height%3D%2224px%22%3E%E3%83%87%E3%83%A2%3C%2FTD%3E%3CTD%20width%3D%22501.364px%22%20height%3D%2224px%22%3ETensorFlow%20Lite%20%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%A4%9C%E5%87%BA%20(TensorFlow%20%E3%81%8B%E3%82%89)%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%20width%3D%22104.915px%22%20height%3D%2224px%22%3EGPU%3C%2FTD%3E%3CTD%20width%3D%22501.364px%22%20height%3D%2224px%22%3E%E3%83%B4%E3%82%A3%E3%83%B4%E3%82%A1%E3%83%B3%E3%83%86%20GC7000Lite%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%20width%3D%22104.915px%22%20height%3D%2224px%22%3ENPU%3C%2FTD%3E%3CTD%20width%3D%22501.364px%22%20height%3D%2224px%22%3E%E4%BD%BF%E7%94%A8%E3%81%95%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%3C%2FTD%3E%3C%2FTR%3E%3C%2FTBODY%3E%3C%2FTABLE%3E%3CH4%20id%3D%22toc-hId--1606686850%22%20id%3D%22toc-hId--1602871619%22%3E%26nbsp%3B%3C%2FH4%3E%3CH4%20id%3D%22toc-hId-880825983%22%20id%3D%22toc-hId-884641214%22%3E%3CSTRONG%3E%E5%95%8F%E9%A1%8C%E3%81%AE%E8%A9%B3%E7%B4%B0%3C%2FSTRONG%3E%3C%2FH4%3E%3CP%3E%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AF%20CPU%20%E6%8E%A8%E8%AB%96%E3%81%A7%E3%81%AF%E6%AD%A3%E5%B8%B8%E3%81%AB%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81GPU%20%E3%83%87%E3%83%AA%E3%82%B2%E3%83%BC%E3%83%88%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%E3%81%A8%E5%88%9D%E6%9C%9F%E5%8C%96%E3%81%AB%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%E4%BB%A5%E4%B8%8B%E3%81%AF%20GPU%20%E3%83%A2%E3%83%BC%E3%83%89%E4%B8%AD%E3%81%AE%E9%96%A2%E9%80%A3%20logcat%20%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%81%AE%E4%B8%80%E9%83%A8%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CPRE%20class%3D%22lia-code-sample%20language-python%22%3E%3CCODE%20translate%3D%22no%22%3E2025-09-11%2020%3A05%3A58.595%20%20libEGL%20%20E%20%20call%20to%20OpenGL%20ES%20API%20with%20no%20current%20context%20(logged%20once%20per%20thread)%0A2025-09-11%2020%3A05%3A55.994%20%20Surface%20%20E%20%20IGraphicBufferProducer%3A%3AsetBufferCount(0)%20returned%20Invalid%20argument%0A2025-09-11%2020%3A05%3A56.086%20%20BaseTaskApi%20%20W%20%20Closing%20an%20already%20closed%20native%20lib%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%E3%82%B3%E3%83%BC%E3%83%89%E5%86%85%3A%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-cpp%22%3E%3CCODE%20translate%3D%22no%22%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(CompatibilityList().isDelegateSupportedOnThisDevice)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20baseOptionsBuilder.useGpu()%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20activeDelegate%20%3D%20%22GPU%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20objectDetectorListener%3F.onError(%22GPU%20is%20not%20supported%20on%20this%20device%22)%20%2F%2F%20also%20print%20this%20!!!!!!!!!!!!%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3E%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%3A%3C%2FP%3E%3CDIV%3E%2Fvendor%2Flib64%2F%E3%81%AB%E3%81%AF%E3%80%81%20%3CSTRONG%3ElibOpenCL.so%3C%2FSTRONG%3E%E3%81%AA%E3%81%A9%E3%81%AE%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3CSTRONG%3Elibtim-vx.so%3C%2FSTRONG%3E%20%E3%80%81%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CDIV%3E%3CSPAN%20class%3D%22%22%3E%3CSPAN%20class%3D%22%22%3EAndroid%20BSP%20%E3%81%A7%E3%82%82%E3%80%81i.MX8MQ%20%E3%81%A7%E3%81%AF%E7%9B%B4%E6%8E%A5%20GPU%20%E3%83%87%E3%83%AA%E3%82%B2%E3%83%BC%E3%83%88%E3%81%AF%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93%E3%81%8B%3F%20(%3C%2FSPAN%3E%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fi-MX-Processors%2Fi-MX8MQ-Android-13-can-t-use-GPU-Delegate-to-inference-AI-model%2Ftd-p%2F1908208%22%20target%3D%22_blank%22%3E%3CSPAN%20class%3D%22%22%3E%E3%81%93%E3%81%AE%20Android%2013%20Thread%3C%2FSPAN%3E%3C%2FA%3E%E3%81%A8%E5%90%8C%E6%A7%98%E3%81%AB%3CSPAN%20class%3D%22%22%3E%3CSPAN%20class%3D%22%22%3E%E3%80%81Android%2014%20%E4%BB%A5%E9%99%8D%E3%81%A7%E3%81%AF%20VX%20%E3%81%8C%E6%8E%A8%E5%A5%A8%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82)%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2201727%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EAndroid%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3Ei.MX%208M%20%7C%20i.MX%208M%20%E3%83%9F%E3%83%8B%20%7C%20i.MX%208M%20%E3%83%8A%E3%83%8E%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2205889%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20%5BAndroid%2014%2F15%2F16%5D%20TensorFlow%20Lite%20GPU%20delegate%20not%20supported%3F%20(ObjectDetection%20demo%20issue)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2205889%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%94%E8%BF%94%E4%BF%A1%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E5%95%8F%E9%A1%8C%E3%81%AF%E3%81%99%E3%81%A7%E3%81%AB%E8%A7%A3%E6%B1%BA%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E3%81%93%E3%81%A1%E3%82%89%E3%81%AE%E6%96%87%E6%9B%B8%E3%82%82%E5%8F%82%E8%80%83%E3%81%AB%E3%81%95%E3%81%9B%E3%81%A6%E3%81%84%E3%81%9F%E3%81%A0%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com.cn%2Fdocs%2Fen%2Fuser-guide%2FIMX_ANDROID_TENSORFLOWLITE_USERS_GUIDE.pdf%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3EAndroid%20%E7%89%88%20i.MX%20TensorFlow%20Lite%20%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%AC%E3%82%A4%E3%83%89%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2205820%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20%5BAndroid%2014%2F15%2F16%5D%20TensorFlow%20Lite%20GPU%20delegate%20not%20supported%3F%20(ObjectDetection%20demo%20issue)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2205820%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%E3%83%8F%E3%83%B3%E3%82%AF%3A%3C%2FP%3E%0A%3CP%3E%E6%A8%99%E6%BA%96%E3%81%AE%20TFLite%20GPU%20%E3%83%87%E3%83%AA%E3%82%B2%E3%83%BC%E3%83%88%E3%81%AF%20i.MX8MQ%20Android%20BSP%20%E3%81%A7%E3%81%AF%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E3%81%93%E3%82%8C%E3%81%AF%E3%80%81GPU%20%E3%83%90%E3%83%83%E3%82%AF%E3%82%A8%E3%83%B3%E3%83%89%E3%81%AE%E4%BA%92%E6%8F%9B%E6%80%A7%E3%81%A8%20NXP%20%E3%81%8C%E9%81%B8%E6%8A%9E%E3%81%97%E3%81%9F%E3%82%A2%E3%82%AF%E3%82%BB%E3%83%A9%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E6%88%A6%E7%95%A5%E3%81%AB%E3%82%88%E3%82%8B%E3%82%82%E3%81%AE%E3%81%A8%E4%BA%88%E6%83%B3%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82i.MX8M%20%E3%81%A7%E3%81%AF%20VX%20(TIM-VX)%20%E3%83%87%E3%83%AA%E3%82%B2%E3%83%BC%E3%83%88%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%80%81i.MX95%20%E3%81%A7%E3%81%AF%20Neutron%20%E3%83%87%E3%83%AA%E3%82%B2%E3%83%BC%E3%83%88%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E