EntryPointNotFoundException:无法在 DLL 'onnxruntime' 中找到名为 'OrtGetApiBase' 的入口点

EntryPointNotFoundException: Unable to find an entry point named 'OrtGetApiBase' in DLL 'onnxruntime'

我正在尝试 运行 Windows 10 Pro 和 VS 2019 上的 C# 4.8 框架中的 sklearn onnx 模型,我使用了以下代码:

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);

我收到这个错误:

System.TypeInitializationException:“'Microsoft.ML.OnnxRuntime.NativeMethods' 的类型初始值设定项引发了异常。”

EntryPointNotFoundException: 无法在 DLL 'onnxruntime'.

中找到名为 'OrtGetApiBase' 的入口点

在:

public SessionOptions()
    : base(IntPtr.Zero, true)
{
    NativeApiStatus.VerifySuccess(NativeMethods.OrtCreateSessionOptions(out handle));
}

这里应该已经解决了同样的问题:https://github.com/microsoft/onnxruntime/issues/9260

简而言之,您需要将包(onnxruntime.dll)加载到启动项目中才能使用OrtGetApiBase。