ExecuTorchModel class abstract

High-level wrapper for an ExecuTorch model instance

This is the main API for loading, managing, and running inference on ExecuTorch models. It provides a consistent interface across all platforms.

Runs on Android, iOS, macOS, Windows, and Linux through dart:ffi with native assets. There is no web implementation here — for web, use package:executorch_flutter.

Usage Pattern

Loading from a file (native platforms):

final model = await ExecuTorchModel.load('/path/to/model.pte');
final outputs = await model.forward(inputs);
await model.dispose();

Flutter applications can load from the asset bundle with loadModelFromAsset from package:executorch_flutter/executorch_flutter.dart.

Loading from Bytes:

import 'dart:io';

final bytes = await File('/path/to/model.pte').readAsBytes();
final model = await ExecuTorchModel.loadFromBytes(bytes);
final outputs = await model.forward(inputs);
await model.dispose();

Constructors

ExecuTorchModel()

Properties

hashCode int
The hash code for this object.
no setterinherited
isDisposed bool
Whether this model has been disposed
no setter
modelId String
Unique identifier for this model instance
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

dispose() Future<void>
Dispose this model and free its resources
forward(List<TensorData> inputs) Future<List<TensorData>>
Execute inference on the model
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

load(String filePath) Future<ExecuTorchModel>
Load an ExecuTorch model from a file path (static factory)
loadFromBytes(Uint8List modelBytes) Future<ExecuTorchModel>
Load an ExecuTorch model from bytes