@fugood/onnxruntime-react-native
Version:
ONNX Runtime bridge for react native
31 lines (30 loc) • 1.39 kB
TypeScript
import type { InferenceSession } from '@fugood/onnxruntime-common';
import type { ModelLoadInfo, EncodedTensor, Fetches, JSIBlob, Feeds, Return } from './NativeOnnxruntime';
/**
* Binding exports a simple synchronized inference session object wrap.
*/
export declare namespace Binding {
type ModelLoadInfoType = ModelLoadInfo;
type EncodedTensorType = EncodedTensor;
type SessionOptions = InferenceSession.SessionOptions;
type RunOptions = InferenceSession.RunOptions;
type FeedsType = Feeds;
type FetchesType = Fetches;
type ReturnType = Return;
type JSIBlobType = JSIBlob;
interface InferenceSession {
loadModel(modelPath: string, options: SessionOptions): Promise<ModelLoadInfoType>;
loadModelFromBlob?(blob: JSIBlobType, options: SessionOptions): Promise<ModelLoadInfoType>;
dispose(key: string): Promise<void>;
run(key: string, feeds: FeedsType, fetches: FetchesType, options: RunOptions): Promise<ReturnType>;
}
}
export declare const binding: Binding.InferenceSession;
declare global {
var jsiOnnxruntimeStoreArrayBuffer: ((buffer: ArrayBuffer) => JSIBlob) | undefined;
var jsiOnnxruntimeResolveArrayBuffer: ((blob: JSIBlob) => ArrayBuffer) | undefined;
}
export declare const jsiHelper: {
storeArrayBuffer: (buffer: ArrayBuffer) => JSIBlob;
resolveArrayBuffer: (blob: JSIBlob) => ArrayBuffer;
};