This example is a demonstration of how to configure global flags by ort.env
.
Following are some example code snippets:
// enable DEBUG flag
ort.env.debug = true;
// set global logging level
ort.env.logLevel = 'info';
See also Env
interface in API reference document.
WebAssembly flags are used to customize behaviors of WebAssembly execution provider.
Following are some example code snippets:
// set up-to-2-threads for multi-thread execution for WebAssembly
// may fallback to single-thread if multi-thread is not available in the current browser
ort.env.wasm.numThreads = 2;
// force single-thread for WebAssembly
ort.env.wasm.numThreads = 1;
// enable worker-proxy feature for WebAssembly
// this feature allows model inferencing to run in a web worker asynchronously.
ort.env.wasm.proxy = true;
// override path of wasm files - using a prefix
// in this example, ONNX Runtime Web will try to load file from https://example.com/my-example/ort-wasm*.wasm
ort.env.wasm.wasmPaths = 'https://example.com/my-example/';
// override path of wasm files - for each file
ort.env.wasm.wasmPaths = {
'ort-wasm.wasm': 'https://example.com/my-example/ort-wasm.wasm',
'ort-wasm-simd.wasm': 'https://example.com/my-example/ort-wasm-simd.wasm',
'ort-wasm-threaded.wasm': 'https://example.com/my-example/ort-wasm-threaded.wasm',
'ort-wasm-simd-threaded.wasm': 'https://example.com/my-example/ort-wasm-simd-threaded.wasm'
};
See also WebAssembly flags in API reference document.
WebGL flags are used to customize behaviors of WebGL execution provider.
Following are some example code snippets:
// enable packed texture. This helps to improve inference performance for some models
ort.env.webgl.pack = true;
See also WebGL flags in API reference document.
WebGPU flags are used to customize behaviors of WebGPU execution provider.
Following are some example code snippets:
// enable WebGPU profiling.
ort.env.webgpu.profilingMode = 'default';
// get the gpu device object.
const device = ort.env.webgpu.device;
See also WebGPU flags in API reference document.
Both SessionOptions
and ort.env
allow to specify configurations for inferencing behaviors. The biggest difference of them is: SessionOptions
is set for one inference session instance, while ort.env
is set global.
See also API usage - SessionOptions
for an example of using SessionOptions
.
The code snippets demonstrated above cannot run standalone. Put the code into one of the "Quick Start" examples and try it out.