UNPKG

react-native-executorch

Version:

An easy way to run AI models in React Native with ExecuTorch

25 lines (22 loc) 796 B
import { TensorPtr } from '../../types/common'; import { BaseModule } from '../BaseModule'; import { ResourceSource } from '../../types/common'; import { ResourceFetcher } from '../../utils/ResourceFetcher'; export class ExecutorchModule extends BaseModule { async load( modelSource: ResourceSource, onDownloadProgressCallback: (progress: number) => void = () => {} ): Promise<void> { const paths = await ResourceFetcher.fetch( onDownloadProgressCallback, modelSource ); if (paths === null || paths.length < 1) { throw new Error('Download interrupted.'); } this.nativeModule = global.loadExecutorchModule(paths[0] || ''); } async forward(inputTensor: TensorPtr[]): Promise<TensorPtr[]> { return await this.forwardET(inputTensor); } }