A set of configurations for session behavior.

interface SessionOptions {
    enableCpuMemArena?: boolean;
    enableGraphCapture?: boolean;
    enableMemPattern?: boolean;
    enableProfiling?: boolean;
    executionMode?: "sequential" | "parallel";
    executionProviders?: readonly ExecutionProviderConfig[];
    externalData?: readonly ExternalDataFileType[];
    extra?: Record<string, unknown>;
    freeDimensionOverrides?: {
        [dimensionName: string]: number;
    };
    graphOptimizationLevel?: "basic" | "all" | "disabled" | "extended";
    interOpNumThreads?: number;
    intraOpNumThreads?: number;
    logId?: string;
    logSeverityLevel?: 0 | 2 | 1 | 3 | 4;
    logVerbosityLevel?: number;
    optimizedModelFilePath?: string;
    preferredOutputLocation?: DataLocation | {
        [outputName: string]: OnnxValueDataLocation;
    };
    profileFilePrefix?: string;
}

Hierarchy (view full)

Properties

enableCpuMemArena?: boolean

Whether enable CPU memory arena.

This setting is available only in ONNXRuntime (Node.js binding and react-native) or WebAssembly backend

enableGraphCapture?: boolean

Whether enable graph capture. This setting is available only in ONNXRuntime Web for WebGPU EP.

enableMemPattern?: boolean

Whether enable memory pattern.

This setting is available only in ONNXRuntime (Node.js binding and react-native) or WebAssembly backend

enableProfiling?: boolean

Whether enable profiling.

This setting is a placeholder for a future use.

executionMode?: "sequential" | "parallel"

Execution mode.

This setting is available only in ONNXRuntime (Node.js binding and react-native) or WebAssembly backend

executionProviders?: readonly ExecutionProviderConfig[]

An array of execution provider options.

An execution provider option can be a string indicating the name of the execution provider, or an object of corresponding type.

externalData?: readonly ExternalDataFileType[]

Specifying a list of files that represents the external data.

extra?: Record<string, unknown>

Store configurations for a session. See https://github.com/microsoft/onnxruntime/blob/main/include/onnxruntime/core/session/ onnxruntime_session_options_config_keys.h

This setting is available only in WebAssembly backend. Will support Node.js binding and react-native later

Example

extra: {
session: {
set_denormal_as_zero: "1",
disable_prepacking: "1"
},
optimization: {
enable_gelu_approximation: "1"
}
}
freeDimensionOverrides?: {
    [dimensionName: string]: number;
}

The free dimension override.

This setting is available only in ONNXRuntime (Node.js binding and react-native) or WebAssembly backend

Type declaration

  • [dimensionName: string]: number
graphOptimizationLevel?: "basic" | "all" | "disabled" | "extended"

The optimization level.

This setting is available only in ONNXRuntime (Node.js binding and react-native) or WebAssembly backend

interOpNumThreads?: number

The inter OP threads number.

This setting is available only in ONNXRuntime (Node.js binding and react-native).

intraOpNumThreads?: number

The intra OP threads number.

This setting is available only in ONNXRuntime (Node.js binding and react-native).

logId?: string

Log ID.

This setting is available only in ONNXRuntime (Node.js binding and react-native) or WebAssembly backend

logSeverityLevel?: 0 | 2 | 1 | 3 | 4

Log severity level. See https://github.com/microsoft/onnxruntime/blob/main/include/onnxruntime/core/common/logging/severity.h

This setting is available only in ONNXRuntime (Node.js binding and react-native) or WebAssembly backend

logVerbosityLevel?: number

Log verbosity level.

This setting is available only in WebAssembly backend. Will support Node.js binding and react-native later

optimizedModelFilePath?: string

Optimized model file path.

If this setting is specified, the optimized model will be dumped. In browser, a blob will be created with a pop-up window.

preferredOutputLocation?: DataLocation | {
    [outputName: string]: OnnxValueDataLocation;
}

Specify string as a preferred data location for all outputs, or an object that use output names as keys and a preferred data location as corresponding values.

This setting is available only in ONNXRuntime Web for WebGL and WebGPU EP.

Type declaration

profileFilePrefix?: string

File prefix for profiling.

This setting is a placeholder for a future use.

Generated using TypeDoc