loadFromAsset method

Future<Interpreter> loadFromAsset(
  1. String assetPath, {
  2. int numThreads = 2,
  3. bool useGpuDelegate = false,
})

Loads a TFLite model from a Flutter asset path.

Returns a cached Interpreter if the model was previously loaded. The numThreads parameter controls inference parallelism (default: 2).

Implementation

Future<Interpreter> loadFromAsset(
  String assetPath, {
  int numThreads = 2,
  bool useGpuDelegate = false,
}) async {
  if (_cache.containsKey(assetPath)) {
    return _cache[assetPath]!;
  }

  final options = InterpreterOptions()..threads = numThreads;

  if (useGpuDelegate) {
    try {
      options.addDelegate(GpuDelegateV2());
    } catch (_) {
      // GPU delegate not available on this platform — fall back to CPU
    }
  }

  final interpreter = await Interpreter.fromAsset(
    assetPath,
    options: options,
  );

  _cache[assetPath] = interpreter;
  return interpreter;
}