Flutter Tflite PlatformException错误模型未找到,但已正确提及



我在颤振中与tflite相处得很艰难

好吧,问题是应用程序无法加载模型,但我确实在pubspec.yaml文件中提到了资产,而且我确实正确拼写了模型名称和标签文本,但我仍然收到错误

Pubspeck.yaml

assets:
- asset/fruit.txt
- asset/model.tflite
- asset/model_unquant.tflite
- asset/labels2.txt

加载模型

loadModel() async {
String res = await Tflite.loadModel(
labels: "asset/labels2.txt",
model: "asset/model_unquant.tflite",
);
print(res);
}

预测

predict(String path) async {
var recognitions = await Tflite.runModelOnImage(
path: path,
threshold: 0.3,
imageMean: 0.0,
imageStd: 255.0,
numResults: 292
);
setState(() {
_recognitions = recognitions;
char = _recognitions[0]["labels"];
item = _recognitions[0];
});
}

追溯

*E/flutter (18543): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: PlatformException(Failed to load model, flutter_assets/asset/model_unquant.tflite, java.io.FileNotFoundException: flutter_assets/asset/model_unquant.tflite*
E/flutter (18543):  at android.content.res.AssetManager.nativeOpenAssetFd(Native Method)
E/flutter (18543):  at android.content.res.AssetManager.openFd(AssetManager.java:899)
E/flutter (18543):  at sq.flutter.tflite.TflitePlugin.loadModel(TflitePlugin.java:207)
E/flutter (18543):  at sq.flutter.tflite.TflitePlugin.onMethodCall(TflitePlugin.java:95)
E/flutter (18543):  at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:233)
E/flutter (18543):  at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
E/flutter (18543):  at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:692)
E/flutter (18543):  at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter (18543):  at android.os.MessageQueue.next(MessageQueue.java:336)
E/flutter (18543):  at android.os.Looper.loop(Looper.java:197)
E/flutter (18543):  at android.app.ActivityThread.main(ActivityThread.java:8107)
E/flutter (18543):  at java.lang.reflect.Method.invoke(Native Method)
E/flutter (18543):  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
E/flutter (18543):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
E/flutter (18543): , null)
E/flutter (18543): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:582:7)
E/flutter (18543): #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:159:18)
E/flutter (18543): <asynchronous suspension>
E/flutter (18543): #2      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:332:12)
E/flutter (18543): #3      Tflite.loadModel (package:tflite/tflite.dart:16:27)
E/flutter (18543): #4      ResPicState.loadModel (package:respic/main.dart:53:31)
E/flutter (18543): #5      ResPicState.initState (package:respic/main.dart:48:5)
E/flutter (18543): #6      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4765:58)
E/flutter (18543): #7      ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
E/flutter (18543): #8      Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter (18543): #9      Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter (18543): #10     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6118:14)
E/flutter (18543): #11     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter (18543): #12     Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter (18543): #13     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
E/flutter (18543): #14     Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
E/flutter (18543): #15     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4606:5)
E/flutter (18543): #16     ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
E/flutter (18543): #17     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter (18543): #18     Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter (18543): #19     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6118:14)
E/flutter (18543): #20     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter (18543): #21     Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter (18543): #22     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6118:14)
E/flutter (18543): #23     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter (18543): #24     Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter (18543): #25     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
E/flutter (18543): #26     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
E/flutter (18543): #27     Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
E/flutter (18543): #28     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4606:5)
E/flutter (18543): #29     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4791:11)
E/flutter (18543): #30     ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
E/flutter (18543): #31     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter (18543): #32     Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter (18543): #33     SingleChildRenderObjec
D/ViewRootImpl@6337ccf[MainActivity](18543): ViewPostIme pointer 0
D/ViewRootImpl@6337ccf[MainActivity](18543): ViewPostIme pointer 1

我不知道是什么原因导致了这个错误,我也尝试过使用不同版本的tflite和不同类型的型号,并进行了清理,但问题仍然存在。感谢阅读,当做Roshan

删除pubspec.yaml中的资产它应该是:资产:

  • fruit.txt
  • 型号.tflite
  • model_unquant.tflite
  • labels2.txt

相关内容

  • 没有找到相关文章

最新更新