TensorFlow Lite Flutter 插件为开发者提供了一种灵活而高效的解决方案,可以在 Flutter 应用中集成 TensorFlow Lite 模型并执行机器学习推理。该插件的 API 设计类似于 TensorFlow Lite 的 Java 和 Swift API,使得 Android 和 iOS 开发者可以轻松上手。插件通过直接绑定到 TensorFlow Lite C API,实现了高效率和低延迟的推理性能。
在 pubspec.yaml
文件中添加以下依赖:
dependencies: tflite_flutter: ^0.10.1
import 'package:tflite_flutter/tflite_flutter.dart';
将 TensorFlow Lite 模型文件 (.tflite) 放在 assets 目录下,并在 pubspec.yaml
中声明:
assets: - assets/your_model.tflite
然后使用以下代码加载模型:
final interpreter = await Interpreter.fromAsset('assets/your_model.tflite');
对于单一输入和输出的模型:
// 准备输入数据 var input = [[1.23, 6.54, 7.81, 3.21, 2.22]]; // 准备输出容器 var output = List.filled(1*2, 0).reshape([1,2]); // 执行推理 interpreter.run(input, output); // 打印输出结果 print(output);
对于多输入多输出的模型:
var inputs = [input1, input2, input3, input4]; var outputs = {0: output1, 1: output2}; interpreter.runForMultipleInputs(inputs, outputs); print(outputs);
interpreter.close();
为了避免阻塞 UI 线程,可以使用 IsolateInterpreter
在单独的 isolate 中执行推理:
final interpreter = await Interpreter.fromAsset('assets/your_model.tflite'); final isolateInterpreter = await IsolateInterpreter.create(address: interpreter.address); // 异步执行推理 await isolateInterpreter.run(input, output);
Android 和 iOS 平台现在支持动态库下载。iOS 示例可以通过以下命令运行:
flutter build ios
flutter install ios
Android 可以通过以下命令运行:
flutter build android
flutter install android
注意:
对于桌面平台,需要手动添加 TensorFlow Lite 动态库到项目中。详细步骤请参考官方文档。
本项目使用 melos 进行管理。在开始开发之前,请运行以下命令:
dart pub global activate melos
melos bootstrap