在Android手机GPU上为tflite模型创建解释器时出错,但在CPU上很好

您所在的位置:网站首页 手机cpu和gpu 在Android手机GPU上为tflite模型创建解释器时出错,但在CPU上很好

在Android手机GPU上为tflite模型创建解释器时出错,但在CPU上很好

2023-04-13 20:56| 来源: 网络整理| 查看: 265

我试图在安卓手机上运行一个tflite模型(使用tflite_flutter包),它成功地运行在phone CPU上。但是当我使用手机GPU时,我得到了下面的错误,它无法创建模型解释器。

I/tflite ( 8113): Created TensorFlow Lite delegate for NNAPI. I/flutter ( 8113): Unable to create interpreter, Caught Exception: Invalid argument(s): Unable to create interpreter.

其次是下面的信息:

E/flutter ( 8113): #0 Classifier.interpreter (package:ace_example/tflite/classifier.dart) E/flutter ( 8113): #1 _MyCameraPageState.onLatestImageAvailable (package:ace_example/camera/view.dart:193:34) E/flutter ( 8113): #2 CameraController.startImageStream. (package:camera/src/camera_controller.dart:442:20) E/flutter ( 8113): #3 _rootRunUnary (dart:async/zone.dart:1434:47) E/flutter ( 8113): #4 _CustomZone.runUnary (dart:async/zone.dart:1335:19) E/flutter ( 8113): #5 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1244:7) E/flutter ( 8113): #6 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:341:11) E/flutter ( 8113): #7 _DelayedData.perform (dart:async/stream_impl.dart:591:14) E/flutter ( 8113): #8 _StreamImplEvents.handleNext (dart:async/stream_impl.dart:706:11) E/flutter ( 8113): #9 _PendingEvents.schedule. (dart:async/stream_impl.dart:663:7) E/flutter ( 8113): #10 _rootRun (dart:async/zone.dart:1418:47) E/flutter ( 8113): #11 _CustomZone.run (dart:async/zone.dart:1328:19) E/flutter ( 8113): #12 _CustomZone.runGuarded (dart:async/zone.dart:1236:7) E/flutter ( 8113): #13 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1276:23) E/flutter ( 8113): #14 _rootRun (dart:async/zone.dart:1426:13) E/flutter ( 8113): #15 _CustomZone.run (dart:async/zone.dart:1328:19) E/flutter ( 8113): #16 _CustomZone.runGuarded (dart:async/zone.dart:1236:7) E/flutter ( 8113): #17 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1276:23) E/flutter ( 8113): #18 _microtaskLoop (dart:async/schedule_microtask.dart:40:21) E/flutter ( 8113): #19 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5) E/flutter ( 8113): I/ech.ace_exampl( 8113): Background concurrent copying GC freed 578(97KB) AllocSpace objects, 21(2520KB) LOS objects, 49% free, 2453KB/4907KB, paused 5.309ms total 31.741ms

我尝试使用GPUDelegate类初始化解释器,如下所示,但这也会导致同样的错误。

if (Platform.isAndroid) { final gpuDelegateV2 = GpuDelegateV2( options: GpuDelegateOptionsV2( isPrecisionLossAllowed: false, // TfLiteGpuInferenceUsage.fastSingleAnswer, inferencePriority1: TfLiteGpuInferencePriority.minLatency, // TfLiteGpuInferencePriority.auto, // TfLiteGpuInferencePriority.auto, )); _interpreterOptions = InterpreterOptions()..addDelegate(gpuDelegateV2); // InterpreterOptions()..useNnApiForAndroid = true; // _interpreterOptions = InterpreterOptions()..threads = 8; }

我在想,是不是我的tflite模型中有一些运算符不受GPU的支持?有没有人知道GPU在tflite模型中是否支持比CPU更小的一组操作员?谢谢。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3