diff --git a/OnnxStack.Core/Config/ExecutionProvider.cs b/OnnxStack.Core/Config/ExecutionProvider.cs index f1413e3d..beccce8c 100644 --- a/OnnxStack.Core/Config/ExecutionProvider.cs +++ b/OnnxStack.Core/Config/ExecutionProvider.cs @@ -5,6 +5,7 @@ public enum ExecutionProvider DirectML = 0, Cuda = 1, Cpu = 2, - CoreML = 3 + CoreML = 3, + OpenVino = 4 } } diff --git a/OnnxStack.Core/Extensions/Extensions.cs b/OnnxStack.Core/Extensions/Extensions.cs index d4771dc2..3cd55b9d 100644 --- a/OnnxStack.Core/Extensions/Extensions.cs +++ b/OnnxStack.Core/Extensions/Extensions.cs @@ -36,9 +36,20 @@ public static SessionOptions GetSessionOptions(this OnnxModelConfig configuratio sessionOptions.AppendExecutionProvider_CPU(); return sessionOptions; case ExecutionProvider.CoreML: - sessionOptions.AppendExecutionProvider_CoreML( - CoreMLFlags.COREML_FLAG_ONLY_ENABLE_DEVICE_WITH_ANE - ); + sessionOptions.AppendExecutionProvider_CoreML(CoreMLFlags.COREML_FLAG_ONLY_ENABLE_DEVICE_WITH_ANE); + return sessionOptions; + case ExecutionProvider.OpenVino: + var deviceId = configuration.DeviceId switch + { + 0 => "CPU_FP32", + 1 => "GPU_FP32", + 2 => "GPU_FP16", + 3 => "MYRIAD_FP16", + 4 => "VAD-M_FP16", + 5 => "VAD-F_FP32", + _ => string.Empty + }; + sessionOptions.AppendExecutionProvider_OpenVINO(deviceId); return sessionOptions; } }