onnxruntime.dll:The dynamic link library (DLL) initialization routine failed.
I loaded the ONNX model on Windows, but encountered an error. How should I solve this problem?
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\dell\AppData\Local\Temp\onnxruntime-java11324124454076740368\onnxruntime.dll: 动态链接库(DLL)初始化例程失败。
at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:331)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:197)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:139)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2418)
at java.base/java.lang.Runtime.load0(Runtime.java:852)
at java.base/java.lang.System.load(System.java:2025)
at ai.onnxruntime.OnnxRuntime.load(OnnxRuntime.java:387)
at ai.onnxruntime.OnnxRuntime.init(OnnxRuntime.java:166)
at ai.onnxruntime.OrtEnvironment$ThreadingOptions.<clinit>(OrtEnvironment.java:510)
at ai.djl.onnxruntime.engine.OrtEngine.<init>(OrtEngine.java:49)
at ai.djl.onnxruntime.engine.OrtEngine.newInstance(OrtEngine.java:69)
at ai.djl.onnxruntime.engine.OrtEngineProvider$InstanceHolder.<clinit>(OrtEngineProvider.java:40)
at ai.djl.onnxruntime.engine.OrtEngineProvider.getEngine(OrtEngineProvider.java:36)
at ai.djl.engine.Engine.getEngine(Engine.java:195)
at ai.djl.Model.newInstance(Model.java:83)
at model.DJLTest.testClassifications(DJLTest.java:44)
at model.DJLTest.main(DJLTest.java:32)
Which JDK are you using? You might run into this issue: https://docs.djl.ai/master/engines/onnxruntime/onnxruntime-engine/index.html#installation
JDK11 DJL 0.35.1
the same problem, https://docs.djl.ai/master/engines/onnxruntime/onnxruntime-engine/index.html#installation, it doesn't works
@TalkIsCheapGiveMeMoney
Can you try zulu 17 JDK?
A few other things to try:
- Use a older version of onnxruntime:
<dependency>
<groupId>com.microsoft.onnxruntime</groupId>
<artifactId>onnxruntime</artifactId>
<version>1.20.0</version>
<scope>runtime</scope>
</dependency>
- Try to use onnxruntime without DJL
This issue seems to be related to the compilation version of the Java JDK. When I used Java JDK 21.0.4, running with the DJL version 0.32.0 was successful.
used Java JDK 21, running with the onnxruntime version 1.20.0 was successful.