DL4J based program reported error about native openblas support

Issue Description

Please describe our issue, along with:

  • Successfully run the dl4j based program
  • Reported error about openblas

Version Information

Please indicate relevant versions, including, if relevant:

  • Deeplearning4j version - current newest version
  • Platform information (OS, etc) - Windows 10
  • CUDA version, - CUDA Driver Version / Runtime Version - 11.1 / 10.2

Additional Information

The error log:

D:\Java\jdk1.8.0_271\bin\java.exe -Djava.library.path=F:\opencv_440_windows64\x64\vc16\bin;F:\opencv_440_windows64\java “-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.2.3\lib\idea_rt.jar=56893:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.2.3\bin” -Dfile.encoding=UTF-8 -classpath C:\Users\Skymind\AppData\Local\Temp\classpath1580738489.jar org.konduit.PlayingCardsVision.scenarios.visionOnly.CardsDetectionDemo
Exception in thread “main” java.lang.UnsatisfiedLinkError: no jniopenblas_nolapack in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
at java.lang.Runtime.loadLibrary0(Runtime.java:871)
at java.lang.System.loadLibrary(System.java:1122)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1683)
at org.bytedeco.javacpp.Loader.load(Loader.java:1300)
at org.bytedeco.javacpp.Loader.load(Loader.java:1123)
at org.bytedeco.openblas.global.openblas_nolapack.(openblas_nolapack.java:12)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.bytedeco.javacpp.Loader.load(Loader.java:1190)
at org.bytedeco.javacpp.Loader.load(Loader.java:1139)
at org.bytedeco.javacv.OpenCVFrameConverter.(OpenCVFrameConverter.java:43)
at org.konduit.video.WebcamFrameGrabber.startCapture(WebcamFrameGrabber.java:51)
at org.konduit.video.WebcamFrameGrabber.startCapture(WebcamFrameGrabber.java:48)
at org.konduit.PlayingCardsVision.scenarios.visionOnly.CardsDetectionDemo.(CardsDetectionDemo.java:35)
at org.konduit.PlayingCardsVision.scenarios.visionOnly.CardsDetectionDemo.main(CardsDetectionDemo.java:112)
Caused by: java.lang.UnsatisfiedLinkError: no openblas_nolapack in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
at java.lang.Runtime.loadLibrary0(Runtime.java:871)
at java.lang.System.loadLibrary(System.java:1122)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1683)
at org.bytedeco.javacpp.Loader.load(Loader.java:1227)
… 11 more

Process finished with exit code 0

The pom.xml file:


4.0.0

<groupId>com.skymind</groupId>
<artifactId>skymind-ai</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>skymind-ai</name>
<url>http://maven.apache.org</url>

<properties>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	<slf4j.version>1.7.16</slf4j.version>
	<log4j.version>2.8.1</log4j.version>
	<nd4j.version>1.0.0-beta7</nd4j.version>
	<dl4j.version>1.0.0-beta7</dl4j.version>
	<ffmpeg.version>4.1-1.4.4</ffmpeg.version>
	<ant.version>1.5</ant.version>
	<lombok.version>1.16.20</lombok.version>
	<logback.version>1.1.7</logback.version>
	<guava.version>19.0</guava.version>

	<nd4j-new.version>1.0.0-SNAPSHOT</nd4j-new.version>
	<dl4j-new.version>1.0.0-SNAPSHOT</dl4j-new.version>

</properties>
<dependencies>

<!-- 	<dependency>
		<groupId>org.deeplearning4j</groupId>
		<artifactId>deeplearning4j-parallel-wrapper</artifactId>
		<version>${dl4j.version}</version>
	</dependency> -->

	<dependency>
		<groupId>org.deeplearning4j</groupId>
		<artifactId>deeplearning4j-core</artifactId>
		<version>${dl4j.version}</version>
	  <exclusions>
		 <exclusion>
			<groupId>com.google.guava</groupId>
			<artifactId>guava</artifactId>
		 </exclusion>
	  </exclusions>
	</dependency>

<dependency>
	<groupId>com.google.guava</groupId>
	<artifactId>guava</artifactId>
	<version>${guava.version}</version>
</dependency>


    <!-- deeplearning4j-ui_2.11 -->
	<dependency>
		<groupId>org.deeplearning4j</groupId>
		<artifactId>deeplearning4j-ui</artifactId>
		<version>${dl4j.version}</version>
		<exclusions>

			<exclusion>
				<groupId>ch.qos.logback</groupId>
				<artifactId>logback-classic</artifactId>
			</exclusion>
		</exclusions>
	</dependency>

	<dependency>
		<groupId>xml-apis</groupId>
		<artifactId>xml-apis</artifactId>
		<version>1.4.01</version>
	</dependency>

	<dependency>
		<groupId>org.nd4j</groupId>
		<artifactId>${nd4jPlatform}</artifactId>

		<version>${nd4j-new.version}</version>

	</dependency>

	<dependency>
		<groupId>org.deeplearning4j</groupId>
		<artifactId>deeplearning4j-zoo</artifactId>
		<version>${dl4j.version}</version>
	</dependency>

	<dependency>
		<groupId>org.datavec</groupId>
		<artifactId>datavec-data-image</artifactId>
		<version>${dl4j.version}</version>
	</dependency>

	<dependency>
		<groupId>org.datavec</groupId>
		<artifactId>datavec-local</artifactId>
		<version>${dl4j.version}</version>
		<exclusions>
			<exclusion>
				<groupId>io.netty</groupId>
				<artifactId>netty-buffer</artifactId>
			</exclusion>
			<exclusion>
				<groupId>io.netty</groupId>
				<artifactId>netty-common</artifactId>
			</exclusion>
		</exclusions>
	</dependency>

    <dependency>
		<groupId>org.bytedeco.javacpp-presets</groupId>
		<artifactId>ffmpeg-platform</artifactId>
		<version>${ffmpeg.version}</version>
	</dependency>

	<!-- https://mvnrepository.com/artifact/org.bytedeco/javacpp-presets -->
	<dependency>
		<groupId>org.bytedeco</groupId>
		<artifactId>javacpp-presets</artifactId>
		<version>1.5.4</version>
		<type>pom</type>
	</dependency>
	<!-- https://mvnrepository.com/artifact/org.bytedeco/openblas -->
	<dependency>
		<groupId>org.bytedeco</groupId>
		<artifactId>openblas</artifactId>
		<version>0.3.10-1.5.4</version>
	</dependency>
	<!-- https://mvnrepository.com/artifact/org.bytedeco/opencv -->
	<dependency>
		<groupId>org.bytedeco</groupId>
		<artifactId>opencv</artifactId>
		<version>4.4.0-1.5.4</version>
	</dependency>
	<!-- https://mvnrepository.com/artifact/org.bytedeco.javacpp-presets/openblas -->
	<dependency>
		<groupId>org.bytedeco.javacpp-presets</groupId>
		<artifactId>openblas</artifactId>
		<version>0.3.5-1.4.4</version>
	</dependency>
	<!-- https://mvnrepository.com/artifact/org.bytedeco.javacpp-presets/openblas-platform -->
	<dependency>
		<groupId>org.bytedeco.javacpp-presets</groupId>
		<artifactId>openblas-platform</artifactId>
		<version>0.3.5-1.4.4</version>
	</dependency>


	<dependency>
		<groupId>org.bytedeco</groupId>
		<artifactId>cuda-platform-redist</artifactId>
		<version>11.0-8.0-1.5.4</version>
	</dependency>

	<dependency>
		<groupId>org.slf4j</groupId>
		<artifactId>slf4j-api</artifactId>
		<version>${slf4j.version}</version>
	</dependency>

	<dependency>
		<groupId>org.apache.ant</groupId>
		<artifactId>ant-compress</artifactId>
		<version>${ant.version}</version>
	</dependency>

	<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-ext -->
	<dependency>
		<groupId>org.slf4j</groupId>
		<artifactId>slf4j-ext</artifactId>
		<version>${slf4j.version}</version>
	</dependency>

	<!-- Binding for Log4J -->
	<dependency>
		<groupId>org.apache.logging.log4j</groupId>
		<artifactId>log4j-slf4j-impl</artifactId>
		<version>${log4j.version}</version>
	</dependency>

	<!-- Log4j API and Core implementation required for binding -->
	<dependency>
		<groupId>org.apache.logging.log4j</groupId>
		<artifactId>log4j-api</artifactId>
		<version>${log4j.version}</version>
	</dependency>

	<dependency>
		<groupId>org.apache.logging.log4j</groupId>
		<artifactId>log4j-core</artifactId>
		<version>${log4j.version}</version>
	</dependency>

	<dependency>
		<groupId>org.apache.logging.log4j</groupId>
		<artifactId>log4j-web</artifactId>
		<version>${log4j.version}</version>
	</dependency>

	<dependency>
		<groupId>org.projectlombok</groupId>
		<artifactId>lombok</artifactId>
		<version>${lombok.version}</version>
	</dependency>

	<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<version>3.8.1</version>
		<scope>test</scope>
	</dependency>


	<dependency>
		<groupId>dom4j</groupId>
		<artifactId>dom4j</artifactId>
		<version>1.6.1</version>
	</dependency>

	<dependency>
		<groupId>org.imgscalr</groupId>
		<artifactId>imgscalr-lib</artifactId>
		<version>4.2</version>
	</dependency>

	<dependency>
		<groupId>net.lingala.zip4j</groupId>
		<artifactId>zip4j</artifactId>
		<version>1.3.2</version>
	</dependency>

	<dependency>
		<groupId>com.hankcs</groupId>
		<artifactId>hanlp</artifactId>
		<version>portable-1.7.6</version>
	</dependency>

	<dependency>
	    <groupId>commons-io</groupId>
	    <artifactId>commons-io</artifactId>
	    <version>2.6</version>
	</dependency>
	
	<dependency>
        <groupId>com.beust</groupId>
        <artifactId>jcommander</artifactId>
        <version>1.72</version>
    </dependency>
    
    <dependency>
		<groupId>org.tensorflow</groupId>
		<artifactId>tensorflow</artifactId>
		<version>1.15.0</version>
	</dependency>
	
	<dependency>
      <groupId>org.tensorflow</groupId>
      <artifactId>libtensorflow_jni_gpu</artifactId>
      <version>1.15.0</version>
    </dependency> 
    
	<dependency>
		<groupId>com.fasterxml.jackson.core</groupId>
		<artifactId>jackson-databind</artifactId>
		<version>2.9.8</version>
	</dependency>

	<dependency>
		<groupId>com.fasterxml.jackson.core</groupId>
		<artifactId>jackson-core</artifactId>
		<version>2.9.8</version>
	</dependency>

	<dependency>
		<groupId>com.fasterxml.jackson.core</groupId>
		<artifactId>jackson-annotations</artifactId>
		<version>2.9.8</version>
	</dependency>
	
	<dependency>
		<groupId>net.sourceforge.javacsv</groupId>
		<artifactId>javacsv</artifactId>
		<version>2.0</version>
	</dependency>
	
	<dependency>
		<groupId>io.netty</groupId>
		<artifactId>netty-all</artifactId>
		<version>4.1.42.Final</version>
	</dependency>
	
	<dependency>
		<groupId>org.nd4j</groupId>
		<artifactId>nd4j-tensorflow</artifactId>
		<version>${dl4j.version}</version>
	</dependency>
     
    <dependency>
        <groupId>net.coobird</groupId>
        <artifactId>thumbnailator</artifactId>
        <version>0.4.8</version>
    </dependency>
    
     <dependency>
        <groupId>org.deeplearning4j</groupId>
        <artifactId>deeplearning4j-parallel-wrapper</artifactId>
        <version>${dl4j.version}</version>
    </dependency>  

	<dependency>
		<groupId>com.hierynomus</groupId>
		<artifactId>sshj</artifactId>
		<version>0.24.0</version>
	</dependency>

</dependencies>

<build>

	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>3.0</version>
			<configuration>
				<source>1.8</source>
				<target>1.8</target>
				<encoding>utf-8</encoding>
			</configuration>
		</plugin>


<!--  		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-jar-plugin</artifactId>
			<version>2.4</version>
			<configuration>
				<source>1.8</source>
				<target>1.8</target>
				<archive>
					<manifest>
						<mainClass>${entryClassName}</mainClass>
						<addClasspath>true</addClasspath>
						<classpathPrefix>lib/</classpathPrefix>
					</manifest>
				</archive>
				<classesDirectory>
				</classesDirectory>
			</configuration>
		</plugin>

		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-assembly-plugin</artifactId>
			<version>2.4</version>
			
			<configuration>
				
				<descriptors>
					<descriptor>package.xml</descriptor>
				</descriptors>
			</configuration>
			<executions>
				<execution>
					<id>make-assembly</id>
					<phase>package</phase>
					<goals>
						<goal>single</goal>
					</goals>
				</execution>
			</executions>
		</plugin> 
		 -->
	</plugins>
	 
	<resources>
		<resource>
			<directory>${project.basedir}/src/main/resources</directory>
			<filtering>true</filtering>
		</resource>
	</resources>

</build>

<profiles>

	<profile>
		<id>nd4j-native-platform</id>
		<activation>
			<activeByDefault>false</activeByDefault>
		</activation>
		<properties>
			<nd4jPlatform>nd4j-native-platform</nd4jPlatform>
		</properties>
	</profile>


	<profile>
		<id>nd4j-cuda-10.2-platform</id>
		<activation>
			<activeByDefault>false</activeByDefault>
		</activation>
		<properties>
			<nd4jPlatform>nd4j-cuda-10.2-platform</nd4jPlatform>
		</properties>
	</profile> -->
	<profile>
		<id>nd4j-cuda-11.0-platform</id>
		<activation>
			<activeByDefault>false</activeByDefault>
		</activation>
		<properties>
			<nd4jPlatform>nd4j-cuda-11.0-platform</nd4jPlatform>
		</properties>

		<repositories>
			<repository>
				<id>konduit-packages</id>
				<url>https://packages.konduit.ai/repository/maven-public/</url>
			</repository>
			<repository>
				<id>snapshots-repo</id>
				<url>https://oss.sonatype.org/content/repositories/snapshots</url>
				<releases>
					<enabled>false</enabled>
				</releases>
				<snapshots>
					<enabled>true</enabled>
					<updatePolicy>daily</updatePolicy>  <!-- Optional, update daily -->
				</snapshots>
			</repository>
			<repository>
				<id>gradle</id>
				<url>https://repo.gradle.org/gradle/libs-releases-local/</url>
			</repository>
		</repositories>

	</profile>

	<profile>
		<id>nd4j-cuda-11.0</id>
		<activation>
			<activeByDefault>true</activeByDefault>
		</activation>
		<properties>
			<nd4jPlatform>nd4j-cuda-11.0</nd4jPlatform>
		</properties>

		<repositories>
			<repository>
				<id>konduit-packages</id>
				<url>https://packages.konduit.ai/repository/maven-public/</url>
			</repository>
			<repository>
				<id>snapshots-repo</id>
				<url>https://oss.sonatype.org/content/repositories/snapshots</url>
				<releases>
					<enabled>false</enabled>
				</releases>
				<snapshots>
					<enabled>true</enabled>
					<updatePolicy>daily</updatePolicy>  <!-- Optional, update daily -->
				</snapshots>
			</repository>
			<repository>
				<id>gradle</id>
				<url>https://repo.gradle.org/gradle/libs-releases-local/</url>
			</repository>
		</repositories>

	</profile>

	<profile>
		<id>App</id>
		<activation>
			<activeByDefault>true</activeByDefault>
		</activation>
		<properties>
			<entryClassName>com.skymind.ai.App</entryClassName>
		</properties>
	</profile>

	<profile>
		<id>CropFace</id>
		<activation>
			<activeByDefault>false</activeByDefault>
		</activation>
		<properties>
			<entryClassName>com.skymind.ai.etl.face.CropFace</entryClassName>
		</properties>
	</profile>

	<profile>
		<id>AgeCGanTrainer</id>
		<activation>
			<activeByDefault>false</activeByDefault>
		</activation>
		<properties>
			<entryClassName>com.skymind.ai.gan.AgeCGanTrainer</entryClassName>
		</properties>
	</profile>


	<profile>
		<id>Yolo2Trainer</id>
		<activation>
			<activeByDefault>false</activeByDefault>
		</activation>
		<properties>
			<entryClassName>com.skymind.ai.objectdetection.Yolo2Trainer</entryClassName>
		</properties>
	</profile>
	
   <profile>
		<id>TinyYoloTrainer</id>
		<activation>
			<activeByDefault>false</activeByDefault>
		</activation>
		<properties>
			<entryClassName>com.skymind.ai.objectdetection.TinyYoloTrainer</entryClassName>
		</properties>
	</profile>


	<profile>
		<id>FaceNetNN4Small2Trainer</id>
		<activation>
			<activeByDefault>false</activeByDefault>
		</activation>
		<properties>
			<entryClassName>com.skymind.ai.face.FaceNetNN4Small2Trainer</entryClassName>
		</properties>
	</profile>
	
	<profile>
		<id>InceptionResNetTrainer</id>
		<activation>
			<activeByDefault>false</activeByDefault>
		</activation>
		<properties>
			<entryClassName>com.skymind.ai.face.InceptionResNetTrainer</entryClassName>
		</properties>
	</profile>
	
	<profile>
		<id>FacialKeypointsDetectionTrainer</id>
		<activation>
			<activeByDefault>false</activeByDefault>
		</activation>
		<properties>
			<entryClassName>com.skymind.ai.zoo.model.FacialKeypointsDetectionTrainer</entryClassName>
		</properties>
	</profile>

</profiles>

Thanks in advance!

@TempKonduitUser1 it looks like you’re trying to mix versions? I’m a bit confused about your setup. Are you trying to mix beta7 with snapshots? You can’t really do that.
Where did you get this pom from? You’re randomly adding javacpp-presets for some reason which makes no sense and I know our docs don’t tell you anywhere to do that.

You’re also randomly adding old versions of javacpp and openblas which makes no sense. Could we step back for a second? Go through our quickstart (at least the maven section) and make sure you understand what should be added and how:

We also describe in our docs how the different backends work already and I believe I’ve already linked that.

What is causing you to randomly add dependencies like this?
Copying and pasting and hoping things work just makes supporting you a lot harder.
Please quit randomly trying to mix things together.

What are you trying to accomplish exactly? Maybe instead of you guessing what the solution is, you can ask for help with what you’re trying to configure?

@agibsonccc I have followed your instruction, but it still reports the following error:
D:\Java\jdk1.8.0_271\bin\java.exe -Djava.library.path=F:\opencv_440_windows64\x64\vc16\bin;F:\opencv_440_windows64\java “-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.2.3\lib\idea_rt.jar=64411:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.2.3\bin” -Dfile.encoding=UTF-8 -classpath C:\Users\Skymind\AppData\Local\Temp\classpath429935501.jar org.konduit.PlayingCardsVision.scenarios.visionOnly.CardsDetectionDemo
Exception in thread “main” java.lang.UnsatisfiedLinkError: no jniopenblas_nolapack in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
at java.lang.Runtime.loadLibrary0(Runtime.java:871)
at java.lang.System.loadLibrary(System.java:1122)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1683)
at org.bytedeco.javacpp.Loader.load(Loader.java:1300)
at org.bytedeco.javacpp.Loader.load(Loader.java:1123)
at org.bytedeco.openblas.global.openblas_nolapack.(openblas_nolapack.java:12)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.bytedeco.javacpp.Loader.load(Loader.java:1190)
at org.bytedeco.javacpp.Loader.load(Loader.java:1139)
at org.bytedeco.javacv.OpenCVFrameConverter.(OpenCVFrameConverter.java:43)
at org.konduit.video.WebcamFrameGrabber.startCapture(WebcamFrameGrabber.java:51)
at org.konduit.video.WebcamFrameGrabber.startCapture(WebcamFrameGrabber.java:48)
at org.konduit.PlayingCardsVision.scenarios.visionOnly.CardsDetectionDemo.(CardsDetectionDemo.java:35)
at org.konduit.PlayingCardsVision.scenarios.visionOnly.CardsDetectionDemo.main(CardsDetectionDemo.java:112)
Caused by: java.lang.UnsatisfiedLinkError: no openblas_nolapack in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
at java.lang.Runtime.loadLibrary0(Runtime.java:871)
at java.lang.System.loadLibrary(System.java:1122)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1683)
at org.bytedeco.javacpp.Loader.load(Loader.java:1227)
… 11 more

@TempKonduitUser1 is your pom.xml still the same? JFYI, we got snapshots up. That might help you a bit: Snapshots now ran every 12 hours

@agibsonccc I have modified pom.xml into the following content:


4.0.0

<groupId>com.somecompany</groupId>
<artifactId>somcompany</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>skymind-ai</name>
<url>http://maven.apache.org</url>

<properties>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	<slf4j.version>1.7.16</slf4j.version>
	<log4j.version>2.8.1</log4j.version>
	<nd4j.version>1.0.0-beta7</nd4j.version>
	<dl4j.version>1.0.0-beta7</dl4j.version>
	<ffmpeg.version>4.1-1.4.4</ffmpeg.version>
	<ant.version>1.5</ant.version>
	<lombok.version>1.16.20</lombok.version>
	<logback.version>1.1.7</logback.version>
	<guava.version>19.0</guava.version>

	<nd4j-new.version>1.0.0-SNAPSHOT</nd4j-new.version>
	<dl4j-new.version>1.0.0-SNAPSHOT</dl4j-new.version>

</properties>
<dependencies>


	<dependency>
		<groupId>org.deeplearning4j</groupId>
		<artifactId>deeplearning4j-core</artifactId>
		<version>${dl4j-new.version}</version>
  <exclusions>
     <exclusion>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
     </exclusion>
  </exclusions>
</dependency>

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>${guava.version}</version>
</dependency>

<!-- deeplearning4j-ui_2.11 -->
	<dependency>
		<groupId>org.deeplearning4j</groupId>
		<artifactId>deeplearning4j-ui</artifactId>
		<version>${dl4j-new.version}</version>
		<exclusions>

			<exclusion>
				<groupId>ch.qos.logback</groupId>
				<artifactId>logback-classic</artifactId>
			</exclusion>
		</exclusions>
	</dependency>

	<dependency>
		<groupId>xml-apis</groupId>
		<artifactId>xml-apis</artifactId>
		<version>1.4.01</version>
	</dependency>

	<dependency>
		<groupId>org.nd4j</groupId>
		<artifactId>${nd4jPlatform}</artifactId>

		<version>${nd4j-new.version}</version>

	</dependency>

	<dependency>
		<groupId>org.deeplearning4j</groupId>
		<artifactId>deeplearning4j-zoo</artifactId>
		<version>${dl4j-new.version}</version>
	</dependency>

	<dependency>
		<groupId>org.datavec</groupId>
		<artifactId>datavec-data-image</artifactId>
		<version>${dl4j-new.version}</version>
	</dependency>

	<dependency>
		<groupId>org.datavec</groupId>
		<artifactId>datavec-local</artifactId>
		<version>${dl4j-new.version}</version>
		<exclusions>
			<exclusion>
				<groupId>io.netty</groupId>
				<artifactId>netty-buffer</artifactId>
			</exclusion>
			<exclusion>
				<groupId>io.netty</groupId>
				<artifactId>netty-common</artifactId>
			</exclusion>
		</exclusions>
	</dependency>

    <dependency>
		<groupId>org.bytedeco.javacpp-presets</groupId>
		<artifactId>ffmpeg-platform</artifactId>
		<version>${ffmpeg.version}</version>
	</dependency>

	<!-- https://mvnrepository.com/artifact/org.bytedeco/openblas -->
	<dependency>
		<groupId>org.bytedeco</groupId>
		<artifactId>openblas</artifactId>
		<version>0.3.10-1.5.4</version>
	</dependency>
	<!-- https://mvnrepository.com/artifact/org.bytedeco/opencv -->
	<dependency>
		<groupId>org.bytedeco</groupId>
		<artifactId>opencv</artifactId>
		<version>4.4.0-1.5.4</version>
	</dependency>


	<dependency>
		<groupId>org.bytedeco</groupId>
		<artifactId>cuda-platform-redist</artifactId>
		<version>11.0-8.0-1.5.4</version>
	</dependency>

	<dependency>
		<groupId>org.slf4j</groupId>
		<artifactId>slf4j-api</artifactId>
		<version>${slf4j.version}</version>
	</dependency>

	<dependency>
		<groupId>org.apache.ant</groupId>
		<artifactId>ant-compress</artifactId>
		<version>${ant.version}</version>
	</dependency>

	<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-ext -->
	<dependency>
		<groupId>org.slf4j</groupId>
		<artifactId>slf4j-ext</artifactId>
		<version>${slf4j.version}</version>
	</dependency>

	<!-- Binding for Log4J -->
	<dependency>
		<groupId>org.apache.logging.log4j</groupId>
		<artifactId>log4j-slf4j-impl</artifactId>
		<version>${log4j.version}</version>
	</dependency>

	<!-- Log4j API and Core implementation required for binding -->
	<dependency>
		<groupId>org.apache.logging.log4j</groupId>
		<artifactId>log4j-api</artifactId>
		<version>${log4j.version}</version>
	</dependency>

	<dependency>
		<groupId>org.apache.logging.log4j</groupId>
		<artifactId>log4j-core</artifactId>
		<version>${log4j.version}</version>
	</dependency>

	<dependency>
		<groupId>org.apache.logging.log4j</groupId>
		<artifactId>log4j-web</artifactId>
		<version>${log4j.version}</version>
	</dependency>

	<dependency>
		<groupId>org.projectlombok</groupId>
		<artifactId>lombok</artifactId>
		<version>${lombok.version}</version>
	</dependency>

	<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<version>3.8.1</version>
		<scope>test</scope>
	</dependency>


	<dependency>
		<groupId>dom4j</groupId>
		<artifactId>dom4j</artifactId>
		<version>1.6.1</version>
	</dependency>

	<dependency>
		<groupId>org.imgscalr</groupId>
		<artifactId>imgscalr-lib</artifactId>
		<version>4.2</version>
	</dependency>

	<dependency>
		<groupId>net.lingala.zip4j</groupId>
		<artifactId>zip4j</artifactId>
		<version>1.3.2</version>
	</dependency>

	<dependency>
		<groupId>com.hankcs</groupId>
		<artifactId>hanlp</artifactId>
		<version>portable-1.7.6</version>
	</dependency>

	<dependency>
	    <groupId>commons-io</groupId>
	    <artifactId>commons-io</artifactId>
	    <version>2.6</version>
	</dependency>
	
	<dependency>
        <groupId>com.beust</groupId>
        <artifactId>jcommander</artifactId>
        <version>1.72</version>
    </dependency>
    
    <dependency>
		<groupId>org.tensorflow</groupId>
		<artifactId>tensorflow</artifactId>
		<version>1.15.0</version>
	</dependency>
	
	<dependency>
      <groupId>org.tensorflow</groupId>
      <artifactId>libtensorflow_jni_gpu</artifactId>
      <version>1.15.0</version>
    </dependency> 
    
	<dependency>
		<groupId>com.fasterxml.jackson.core</groupId>
		<artifactId>jackson-databind</artifactId>
		<version>2.9.8</version>
	</dependency>

	<dependency>
		<groupId>com.fasterxml.jackson.core</groupId>
		<artifactId>jackson-core</artifactId>
		<version>2.9.8</version>
	</dependency>

	<dependency>
		<groupId>com.fasterxml.jackson.core</groupId>
		<artifactId>jackson-annotations</artifactId>
		<version>2.9.8</version>
	</dependency>
	
	<dependency>
		<groupId>net.sourceforge.javacsv</groupId>
		<artifactId>javacsv</artifactId>
		<version>2.0</version>
	</dependency>
	
	<dependency>
		<groupId>io.netty</groupId>
		<artifactId>netty-all</artifactId>
		<version>4.1.42.Final</version>
	</dependency>
	
	<dependency>
		<groupId>org.nd4j</groupId>
		<artifactId>nd4j-tensorflow</artifactId>
		<version>${dl4j-new.version}</version>
	</dependency>
     
    <dependency>
        <groupId>net.coobird</groupId>
        <artifactId>thumbnailator</artifactId>
        <version>0.4.8</version>
    </dependency>

    
     <dependency>
        <groupId>org.deeplearning4j</groupId>
        <artifactId>deeplearning4j-parallel-wrapper</artifactId>
        <version>${dl4j-new.version}</version>
    </dependency>  

	<dependency>
		<groupId>com.hierynomus</groupId>
		<artifactId>sshj</artifactId>
		<version>0.24.0</version>
	</dependency>

</dependencies>

<build>

	<plugins>
		<!-- jdk版本 -->
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>3.0</version>
			<configuration>
				<source>1.8</source>
				<target>1.8</target>
				<encoding>utf-8</encoding>
			</configuration>
		</plugin>


<!--  		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-jar-plugin</artifactId>
			<version>2.4</version>
			<configuration>
				<source>1.8</source>
				<target>1.8</target>
				<archive>
					<manifest>
						<mainClass>${entryClassName}</mainClass>
						<addClasspath>true</addClasspath>
						<classpathPrefix>lib/</classpathPrefix>
					</manifest>
				</archive>
				<classesDirectory>
				</classesDirectory>
			</configuration>
		</plugin>

		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-assembly-plugin</artifactId>
			<version>2.4</version>
			
			<configuration>
				
				<descriptors>
					<descriptor>package.xml</descriptor>
				</descriptors>
			</configuration>
			<executions>
				<execution>
					<id>make-assembly</id>
					<phase>package</phase>
					<goals>
						<goal>single</goal>
					</goals>
				</execution>
			</executions>
		</plugin> 
		 -->
	</plugins>
	 
	<resources>
		<resource>
			<directory>${project.basedir}/src/main/resources</directory>
			<filtering>true</filtering>
		</resource>
	</resources>

</build>

<profiles>

	<profile>
		<id>nd4j-native-platform</id>
		<activation>
			<activeByDefault>false</activeByDefault>
		</activation>
		<properties>
			<nd4jPlatform>nd4j-native-platform</nd4jPlatform>
		</properties>
	</profile>

	<profile>
		<id>nd4j-cuda-11.0-platform</id>
		<activation>
			<activeByDefault>false</activeByDefault>
		</activation>
		<properties>
			<nd4jPlatform>nd4j-cuda-11.0-platform</nd4jPlatform>
		</properties>

		<!-- Added by Ngaiman Chow on 2021-1-4 for we are now needing nd4j-cuda-11.0-platform this time -->
		<repositories>
			<repository>
				<id>konduit-packages</id>
				<url>https://packages.konduit.ai/repository/maven-public/</url>
			</repository>
			<repository>
				<id>snapshots-repo</id>
				<url>https://oss.sonatype.org/content/repositories/snapshots</url>
				<releases>
					<enabled>false</enabled>
				</releases>
				<snapshots>
					<enabled>true</enabled>
					<updatePolicy>daily</updatePolicy>  <!-- Optional, update daily -->
				</snapshots>
			</repository>
			<repository>
				<id>gradle</id>
				<url>https://repo.gradle.org/gradle/libs-releases-local/</url>
			</repository>
		</repositories>

	</profile>

	<profile>
		<id>nd4j-cuda-11.0</id>
		<activation>
			<activeByDefault>true</activeByDefault>
		</activation>
		<properties>
			<nd4jPlatform>nd4j-cuda-11.0</nd4jPlatform>
		</properties>

		<!-- Added by Ngaiman Chow on 2021-1-4 for we are now needing nd4j-cuda-11.0-platform this time -->
		<repositories>
			<repository>
				<id>konduit-packages</id>
				<url>https://packages.konduit.ai/repository/maven-public/</url>
			</repository>
			<repository>
				<id>snapshots-repo</id>
				<url>https://oss.sonatype.org/content/repositories/snapshots</url>
				<releases>
					<enabled>false</enabled>
				</releases>
				<snapshots>
					<enabled>true</enabled>
					<updatePolicy>daily</updatePolicy>  <!-- Optional, update daily -->
				</snapshots>
			</repository>
			<repository>
				<id>gradle</id>
				<url>https://repo.gradle.org/gradle/libs-releases-local/</url>
			</repository>
		</repositories>

	</profile>

	<profile>
		<id>App</id>
		<activation>
			<activeByDefault>true</activeByDefault>
		</activation>
		<properties>
			<entryClassName>com.skymind.ai.App</entryClassName>
		</properties>
	</profile>

	<profile>
		<id>CropFace</id>
		<activation>
			<activeByDefault>false</activeByDefault>
		</activation>
		<properties>
			<entryClassName>com.skymind.ai.etl.face.CropFace</entryClassName>
		</properties>
	</profile>

	<profile>
		<id>AgeCGanTrainer</id>
		<activation>
			<activeByDefault>false</activeByDefault>
		</activation>
		<properties>
			<entryClassName>com.skymind.ai.gan.AgeCGanTrainer</entryClassName>
		</properties>
	</profile>


	<profile>
		<id>Yolo2Trainer</id>
		<activation>
			<activeByDefault>false</activeByDefault>
		</activation>
		<properties>
			<entryClassName>com.skymind.ai.objectdetection.Yolo2Trainer</entryClassName>
		</properties>
	</profile>
	
   <profile>
		<id>TinyYoloTrainer</id>
		<activation>
			<activeByDefault>false</activeByDefault>
		</activation>
		<properties>
			<entryClassName>com.skymind.ai.objectdetection.TinyYoloTrainer</entryClassName>
		</properties>
	</profile>


	<profile>
		<id>FaceNetNN4Small2Trainer</id>
		<activation>
			<activeByDefault>false</activeByDefault>
		</activation>
		<properties>
			<entryClassName>com.skymind.ai.face.FaceNetNN4Small2Trainer</entryClassName>
		</properties>
	</profile>
	
	<profile>
		<id>InceptionResNetTrainer</id>
		<activation>
			<activeByDefault>false</activeByDefault>
		</activation>
		<properties>
			<entryClassName>com.skymind.ai.face.InceptionResNetTrainer</entryClassName>
		</properties>
	</profile>
	
	<profile>
		<id>FacialKeypointsDetectionTrainer</id>
		<activation>
			<activeByDefault>false</activeByDefault>
		</activation>
		<properties>
			<entryClassName>com.skymind.ai.zoo.model.FacialKeypointsDetectionTrainer</entryClassName>
		</properties>
	</profile>

</profiles>

Do you think I need to extract this file nd4j-cuda-11.0-1.0.0-SNAPSHOT-windows-x86_64.jar and put those dll files in a directory and set the VM option java.library.path, so that the program can find those files?

@TempKonduitUser1 ok, this whole thing is a bit of a mess…
are you trying to mix cpu and gpu profiles?
Please before you try doing anything advanced, simplify your pom.xml to just 1 backend and get rid of all the extra stuff. First verify you can instantiate nd4j with just a snapshot dependency of either cpu or gpu. Use snapshots to accomplish this. Follow this guide to setup oss sonatype:

Following this, you should see downloads from different platforms. Here’s what’s available now for nd4j-native:
https://oss.sonatype.org/content/repositories/snapshots/org/nd4j/nd4j-native/1.0.0-SNAPSHOT/

Here’s gpu with cuda 11.0 and cuda 11.2:
https://oss.sonatype.org/content/repositories/snapshots/org/nd4j/nd4j-cuda-11.0/1.0.0-SNAPSHOT/
https://oss.sonatype.org/content/repositories/snapshots/org/nd4j/nd4j-cuda-11.2/1.0.0-SNAPSHOT/

You’ll see both linux and windows there for you.

Setup your dependencies to just use nd4j-native or nd4j-cuda with the snapshot repository and make sure you can call a simple main class with something like:

public class Main {
   public static void main(String..args) { 
         Nd4j.create(1);
  }
}

From there, we can troubleshoot your build. I want you to do this to minimize the number of issues we’re trying to troubleshoot at once.