#c# #onnx #onnxruntime
Вопрос:
Я пытаюсь запустить модель sklearn onnx в среде C# 4.8 в Windows 10 Pro с VS 2019, я использовал следующий код, используя примеры в:
https://towardsdatascience.com/deploy-sci-kit-learn-models-in-net-core-applications-90e24e572f64
https://vkontech.com/making-predictions-in-c-with-a-pre-trained-tensorflow-model-via-onnx/
и
https://docs.microsoft.com/en-us/azure/machine-learning/how-to-use-automl-onnx-model-dotnet
Я импортировал с помощью nuget
Install-Package Microsoft.ML.OnnxRuntime -Version 1.9.0
Install-Package Microsoft.ML.OnnxRuntime.Gpu -Version 1.9.0
Install-Package Microsoft.ML.OnnxTransformer -Version 1.6.0
Install-Package Microsoft.ML.OnnxRuntime.MKLML -Version 1.6.0
Install-Package Microsoft.ML -Version 1.5.5
когда я запускаю эту строку кода:
InferenceSession session = new InferenceSession(modelPath);
Я получаю эту ошибку:
Система.Исключение инициализации типа: «Инициализатор типа для» Microsoft.ML.OnnxRuntime.NativeMethods» выдал исключение».
Исключение EntryPointNotFoundException: Не удается найти точку входа с именем «OrtGetApiBase» в библиотеке DLL «onnxruntime».
в:
public SessionOptions()
: base(IntPtr.Zero, true)
{
NativeApiStatus.VerifySuccess(NativeMethods.OrtCreateSessionOptions(out handle));
}
Ответ №1:
Та же проблема уже должна быть решена здесь: https://github.com/microsoft/onnxruntime/issues/9260
Короче говоря, вам нужно загрузить пакет (onnxruntime.dll) в проект запуска для использования OrtGetApiBase.