Unfamiliar with error result from Loading and Testing

Hey guys can you please help me resolve these errors l am trying to load and test a model that l trained, using the same code that worked perfectly well previously


SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See SLF4J Error Codes for further details.
java.lang.UnsatisfiedLinkError: /home/bruno/.javacpp/cache/cuda-11.2-8.1-1.5.5-linux-x86_64.jar/org/bytedeco/cuda/linux-x86_64/libjnicudart.so: libcuda.so.1: cannot open shared object file: No such file or directory
at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:383)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:227)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:169)

I defer to @saudet here, beyond that I would suggest downgrading the JDK if the modules don’t work out. I think @saudet could give a better answer here though.

Hey @agibsonccc l decided to downgrade the dl4jVersion from “1.0.0-M1.1” to “1.0.0-M1” in the build.sbt file and the code compiles and runs, however l am open to other suggestions

@Bruno M1 had a ton of problems with loading cudnn. When I said “downgrade” I meant downgrading from java 9 + to 8. That should fix it for the short term.

I don’t quite know what would have changed in M1.1 to M1 (all we did was changed a few classes…) - could you post your complete sbt file?

That means what it says: libcuda.so.1 is missing. You’ll need that file. I don’t know what else you want me to say!

This is my complete sbt file

val Scala2 = “2.13.6”
val dl4jVersion = “1.0.0-M1”

lazy val root = (project in file("."))
.settings(
inThisBuild(
List(
name := “dl4j-playground”,
organization := “ee.mn8”,
scalaVersion := Scala2,
version := “0.1”
)
),
libraryDependencies ++= Seq(
“org.slf4j” % “slf4j-api” % “1.7.31”,
“org.deeplearning4j” % “deeplearning4j-core” % dl4jVersion,
“org.deeplearning4j” % “deeplearning4j-modelimport” % dl4jVersion,
“org.deeplearning4j” % “deeplearning4j-nn” % dl4jVersion,
“org.deeplearning4j” % “deeplearning4j-zoo” % dl4jVersion,
“org.deeplearning4j” % “deeplearning4j-ui” % dl4jVersion,
“org.nd4j” % “nd4j-cuda-11.2” % dl4jVersion,
“org.nd4j” % “nd4j-native-platform” % dl4jVersion,
“org.nd4j” % “nd4j-tensorflow” % dl4jVersion,
“org.datavec” % “datavec-data-image” % dl4jVersion,
“com.fasterxml.jackson.core” % “jackson-databind” % “2.12.4”,
“org.bytedeco” % “javacv-platform” % “1.5.5”
),
scalacOptions ++= Seq(
“-deprecation” // Emit warning and location for usages of deprecated APIs.
)
)

run / javaOptions ++= Seq("-Xms1024m", “-Xmx4g”, “-Dorg.bytedeco.javacpp.maxbytes=8G”, “-Dorg.bytedeco.javacpp.maxphysicalbytes=10G”)
run / fork := true // To enable javaOptions

Ok, so if it’s what @saudet said, this is pretty common and means you need to either install cudnn, or completely wipe cuda from your computer and use redist.

Try just installing cudnn first and seeing what that does. If you do follow this route, ensure the version of cudnn matches exactly with the version used by dl4j, otherwise you’ll have errors like this.