Flutter中tflite_flutter包导入失败及TfliteFlutter未定义问题求助
问题解决:Undefined name 'TfliteFlutter' 错误
问题根源
你误用了tflite_flutter包中不存在的TfliteFlutter类,该包的核心API是Interpreter类,用于加载和运行TensorFlow Lite模型。
解决方案步骤
修正模型加载代码
替换loadModel函数的实现,使用Interpreter.fromAsset方法加载模型,同时需要保存Interpreter实例以便后续推理使用:import 'package:flutter/material.dart'; import 'package:kamera/pages/home_page.dart'; import 'package:tflite_flutter/tflite_flutter.dart'; // 声明全局Interpreter实例,供后续推理使用 late Interpreter interpreter; void main() async { WidgetsFlutterBinding.ensureInitialized(); await loadModel(); runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( debugShowCheckedModeBanner: false, title: 'Flutter Mobil Uygulama', theme: ThemeData( primarySwatch: Colors.blue, ), home: HomePage(), ); } } Future<void> loadModel() async { // 使用Interpreter.fromAsset加载模型 interpreter = await Interpreter.fromAsset('assets/inceptionv3_model.tflite'); print('模型加载成功'); }确保依赖正确安装
执行以下命令重新拉取依赖,确保tflite_flutter包正确导入:flutter pub get验证assets配置
你的pubspec.yml中assets配置已经正确,确认模型文件路径assets/inceptionv3_model.tflite与实际文件位置一致即可。
额外说明
- 后续进行推理时,直接使用
interpreter.run(input, output)方法处理输入输出数据。 - 应用退出时记得调用
interpreter.close()释放资源。
内容的提问来源于stack exchange,提问作者hilmi uğur
相关产品推荐
相关产品推荐

