create static method
OrtSessionWrapper
create(
- String modelPath, {
- OnnxRuntime? runtime,
- Map<
OrtProvider, Map< providerOptions = const {},String, String> > - SessionConfig sessionConfig = const SessionConfig(),
Creates a session with automatic provider selection based on the current platform. Providers are chosen via OrtProviders.getDefaultProvidersForPlatform.
Use providerOptions to pass per-provider configuration, e.g.:
OrtSessionWrapper.create(
modelPath,
providerOptions: {
OrtProvider.coreML: {'MLComputeUnits': 'ALL'},
},
);
Implementation
static OrtSessionWrapper create(
String modelPath, {
OnnxRuntime? runtime,
Map<OrtProvider, Map<String, String>> providerOptions = const {},
SessionConfig sessionConfig = const SessionConfig(),
}) {
final rt = runtime ?? OnnxRuntime.instance;
rt.ensureInitialized();
final wrapper = OrtSessionWrapper._(rt);
wrapper._sessionOptions = rt.createSessionOptions();
_applySessionConfig(rt, wrapper._sessionOptions, sessionConfig);
final providers = OrtProviders(rt);
providers.appendDefaultProviders(
wrapper._sessionOptions,
providerOptions: providerOptions,
);
wrapper._session = rt.createSession(modelPath, wrapper._sessionOptions);
wrapper._inputNames = rt.getSessionInputNames(wrapper._session);
wrapper._outputNames = rt.getSessionOutputNames(wrapper._session);
return wrapper;
}