mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-16 21:00:14 +00:00
* initial commit for Node.js binding * add c++ code * add inference session impl * e2e working * add settings.json * add test data * adjust binding declaration * refine tensor constructor declaration * update tests * enable onnx tests * simply refine readme * refine cpp impl * refine tests * formatting * add linting * move bin folder * fix linux build * manually update test filter list * update C++ API headers: fix crash in release build * make (manually) prebuild work * add test into prepack script * specify prebuild runtime type (N-API) * build.ts: update rebuild and include regex * fix lazy load on electron.js * update dev version, git link and binary host * support session options and run options * bump dev version * update README * add 1 example * move folder * adjust path * update document for examples * rename example 01 * add example 02 * add session option: log severity level * add example 04 * resolve comments * fix typo * remove double guard in header files * add copyright banner * move BUILD outside from README * consume test filter list from onnxruntime
39 lines
1.4 KiB
TypeScript
39 lines
1.4 KiB
TypeScript
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// Licensed under the MIT License.
|
|
|
|
import {InferenceSession as InferenceSessionInterface} from './inference-session';
|
|
import {OnnxValue} from './onnx-value';
|
|
|
|
/**
|
|
* Binding exports a simple synchronized inference session object wrap.
|
|
*/
|
|
export declare namespace Binding {
|
|
export interface InferenceSession {
|
|
loadModel(modelPath: string, options: InferenceSessionInterface.SessionOptions): void;
|
|
loadModel(
|
|
buffer: ArrayBuffer, byteOffset: number, byteLength: number,
|
|
options: InferenceSessionInterface.SessionOptions): void;
|
|
|
|
readonly inputNames: string[];
|
|
readonly outputNames: string[];
|
|
|
|
run(feeds: InferenceSession.FeedsType, fetches: InferenceSession.FetchesType,
|
|
options: InferenceSession.RunOptions): InferenceSession.ReturnType;
|
|
}
|
|
|
|
export namespace InferenceSession {
|
|
type FeedsType = {[name: string]: OnnxValue};
|
|
type FetchesType = {[name: string]: OnnxValue | null};
|
|
type ReturnType = {[name: string]: OnnxValue};
|
|
type RunOptions = InferenceSessionInterface.RunOptions;
|
|
}
|
|
|
|
export interface InferenceSessionConstructor {
|
|
new(): InferenceSession;
|
|
}
|
|
}
|
|
|
|
// export native binding
|
|
export const binding =
|
|
// eslint-disable-next-line @typescript-eslint/no-require-imports, import/no-internal-modules
|
|
require('../bin/onnxruntime_binding.node') as {InferenceSession: Binding.InferenceSessionConstructor};
|