Deeplearning4j: ND4J on Raspberry PI3

Created on 11 Sep 2018  Â·  41Comments  Â·  Source: eclipse/deeplearning4j

_From @kamir on January 11, 2018 21:55_

I tried to implement image classification on a Raspberry PI3.

./image_classification.sh

java version "1.8.0_65"

Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) Client VM (build 25.65-b01, mixed mode)

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/pi/Documents/dl4j-examples/bin/dl4j_examples_jar/logback-classic-1.1.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/pi/Documents/dl4j-examples/bin/dl4j_examples_jar/slf4j-log4j12-1.7.16.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
o.d.z.ZooModel - Using cached model at /home/pi/.deeplearning4j/vgg16_dl4j_inference.zip
o.d.z.ZooModel - Verifying download...
o.d.z.ZooModel - Checksum local is 3501732770, expecting 3501732770
o.n.l.f.Nd4jBackend - Loaded [CpuBackend] backend

_Exception in thread "main" java.lang.ExceptionInInitializerError
at org.nd4j.linalg.cpu.nativecpu.ops.NativeOpExecutioner.(NativeOpExecutioner.java:53)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at java.lang.Class.newInstance(Class.java:442)
at org.nd4j.linalg.factory.Nd4j.initWithBackend(Nd4j.java:6185)
at org.nd4j.linalg.factory.Nd4j.initContext(Nd4j.java:6087)
at org.nd4j.linalg.factory.Nd4j.(Nd4j.java:201)
at org.deeplearning4j.util.ModelSerializer.restoreComputationGraph(ModelSerializer.java:411)
at org.deeplearning4j.util.ModelSerializer.restoreComputationGraph(ModelSerializer.java:362)
at org.deeplearning4j.zoo.ZooModel.initPretrained(ZooModel.java:88)
at org.deeplearning4j.betterfit.vgg16.CustomModelPrediction.loadModels(CustomModelPrediction.java:118)
at org.deeplearning4j.PIImageClassifierTool.main(PIImageClassifierTool.java:27)
Caused by: java.lang.RuntimeException: ND4J is probably missing dependencies. For more information, please refer to: http://nd4j.org/getstarted.html
at org.nd4j.nativeblas.NativeOpsHolder.(NativeOpsHolder.java:51)
at org.nd4j.nativeblas.NativeOpsHolder.(NativeOpsHolder.java:19)
... 14 more
Caused by: java.lang.UnsatisfiedLinkError: no jnind4jcpu in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:976)
at org.bytedeco.javacpp.Loader.load(Loader.java:777)
at org.bytedeco.javacpp.Loader.load(Loader.java:684)
at org.nd4j.nativeblas.Nd4jCpu.(Nd4jCpu.java:10)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.bytedeco.javacpp.Loader.load(Loader.java:739)
at org.bytedeco.javacpp.Loader.load(Loader.java:684)
at org.nd4j.nativeblas.Nd4jCpu$NativeOps.(Nd4jCpu.java:63)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.nd4j.nativeblas.NativeOpsHolder.(NativeOpsHolder.java:29)
... 15 more
Caused by: java.lang.UnsatisfiedLinkError: no nd4jcpu in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:976)
at org.bytedeco.javacpp.Loader.load(Loader.java:765)_

_Copied from original issue: deeplearning4j/libnd4j#700_

DevOps Enhancement

All 41 comments

_From @kamir on January 11, 2018 21:58_

Following the recommendations in this issue: #243
leads to a different issue:

sudo apt-get update && sudo apt-get upgrade

./buildnativeoperations.sh -o linux-armhf
eval cmake
PACKAGING = none
BUILD = release
CHIP = cpu
ARCH = armv7-r
CHIP_EXTENSION =
CHIP_VERSION =
GPU_COMPUTE_CAPABILITY = all
EXPERIMENTAL = no
LIBRARY TYPE = dynamic
/home/pi/Documents/libnd4j/blasbuild/cpu
CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
CMake 3.8 or higher is required. You are running version 3.7.2

-- Configuring incomplete, errors occurred!

What would be the right approach to build the nd4j libraries on the PI3 ?

_From @kamir on January 11, 2018 22:55_

Installing CMake 3.8.1 using those commands:

wget https://cmake.org/files/v3.8/cmake-3.8.1.tar.gz
tar -xvzf cmake-3.8.1.tar.gz
cd cmake-3.8.1
sudo ./bootstrap
sudo make
sudo make install

worked fine.

But, compiling ND4J still fails:

eval cmake
PACKAGING = none
BUILD = release
CHIP = cpu
ARCH = armv7-r
CHIP_EXTENSION =
CHIP_VERSION =
GPU_COMPUTE_CAPABILITY = all
EXPERIMENTAL = no
LIBRARY TYPE = dynamic
/home/pi/Documents/libnd4j/blasbuild/cpu
CMake Error at /usr/local/share/cmake-3.8/Modules/CMakeDetermineSystem.cmake:94 (message):
Could not find toolchain file: /home/pi/raspberrypi/pi.cmake
Call Stack (most recent call first):
CMakeLists.txt:2 (project)

CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!

Please try to follow the instructions here:
https://github.com/deeplearning4j/libnd4j/blob/master/RaspberryPi2.md

_From @rvanderwerf on April 14, 2018 3:11_

I'm having build problems here,I opened 2829 and they said to add it here is what I am seeing. Looking forward to getting past this so I can get to building!

Please describe your issue, along with:
following the guide to compile for the PI I am getting the following error while running: ./buildnativeoperations.sh -o linux-armhf

I get the following error. I made sure when cross compiling I am using the $ENV{HOME}/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc in pi.cmake or the local version on the pi itself but I get the same error. If I open that link.txt file to remove the -lFALSE it just regenerates it when running it again.

[100%] Linking CXX shared library libnd4j.so
cd /home/pi/github/libnd4j/blasbuild/cpu/blas && /usr/bin/cmake -E cmake_link_script CMakeFiles/nd4j.dir/link.txt --verbose=1
/usr/bin/arm-linux-gnueabihf-g++ -fPIC -Wall -O3 -Wl,-rpath,$ORIGIN/ -march=armv7-r -fopenmp -Wall -O3 -std=c++11 -fassociative-math -funsafe-math-optimizations -shared -Wl,-soname,libnd4j.so -o libnd4j.so CMakeFiles/nd4j.dir/cpu/NativeBlas.cpp.o CMakeFiles/nd4j.dir/cpu/NativeOps.cpp.o -lFALSE
/usr/bin/ld: cannot find -lFALSE
collect2: error: ld returned 1 exit status
blas/CMakeFiles/nd4j.dir/build.make:123: recipe for target 'blas/libnd4j.so' failed

Version Information
latest github repo as if 9-12-15
Please indicate relevant versions, including, if relevant:

Deeplearning4j version - latest github master
platform information (OS, etc): 4.9.35-v7+ #1014 SMP
NAME="Raspbian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
CUDA version, if used
NVIDIA driver version, if in use
also on cross compile machine getting same error:
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=18.1
DISTRIB_CODENAME=serena
DISTRIB_DESCRIPTION="Linux Mint 18.1 Serena"

_From @rvanderwerf on April 16, 2018 5:13_

I would love to get working on this, can someone point me to a pre-built binary for PI3 for Raspbian 8? At least so I can move forward! thx

@dschowta Could you update the build you contributed to make it work on Raspberry Pi?

_From @rvanderwerf on May 9, 2018 5:43_

any updates? I see the tag is remove but nothing updated yet?

No, not really, @raver119 ?

_From @kwatters on May 10, 2018 2:27_

I am going through the process of cross compiling for the raspi for the 1.0.0-alpha release. I finally got to build success for nd4j and have a new set of jars that are compiled. I have yet to validate that they work, beyond not seeing the unsatisfied link error.

A few things I noticed.

  1. you can't build the released nd4j.tar.gz associated with the release tag due to it not being a .git repo and one of the submodules (jackson?) uses some maven git plugin.
  2. you need to make sure you update the pom.xml in the nd4j-backend-impls directory so the linux-armhf-default profile points at the raspi cross compiler located in the tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf (where you cloned the cross compiler tools for raspi too.)
  3. for some reason with mvn 3.3.9 didn't seem to obey the -pl '!:nd4j-cuda...' property, so I ended up commenting those out as submodules in the nd4j-backend-impls pom...

otherwise, the instructions that were checked in , were super helpful!

it's a bit late now, but I wanted to chime in and share some comments about my progress.

@kwatters Awesome! Please send pull requests so we can merge your changes and eventually integrate the build to the CI server.

And to answer your questions:

  1. It works if we use Git to checkout the source code :) Obviously, we shouldn't have to do that, but I don't think it matters a great deal in practice?
  2. We can set the property on the command line mvn -Djavacpp.platform.root=...
  3. We have to use the same version of CUDA that the modules are currently changed to, so probably -pl '!:nd4j-cuda-9.1,!:nd4j-cuda-9.1-platform,!:nd4j-tests' by default these days

_From @rvanderwerf on May 10, 2018 3:29_

Great news, looking forward to trying it out! Keep us updated and thanks!

_From @kwatters on May 10, 2018 17:38_

Thanks for the guidance @saudet, I think the problem is less an issue with what's checked in, it's more an issue with getting your cross compile environment setup as expected.

I appear to successfully be training the Minst example on a RasPI3 at the moment.

It appears all that is needed is the following 2 artifacts:

nd4j-native-1.0.0-alpha-linux-armhf.jar
nd4j-native-platform-1.0.0-alpha-linux-armhf.jar

I'm eagerly waiting to see if it completes training, however, I do see the following warning message in the logs that I think I need to address first

Java HotSpot(TM) Client VM warning: You have loaded library /home/pi/.javacpp/cache/openblas-0.2.20-1.4.1-linux-armhf.jar/org/bytedeco/javacpp/linux-armhf/libopenblas.so.0 which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c ', or link it with '-z noexecstack'.

I think perhaps there is some flag or configuration option that I might have missed when building libdn4j ? Any thoughts? Or is this something with the build of nd4j ? (Sorry, I don't usually spend much time in JNI land..)

_From @kwatters on May 10, 2018 19:48_

If anyone wants to help with testing,
http://repo.myrobotlab.org/artifactory/webapp/#/artifacts/browse/tree/General/myrobotlab/org/nd4j
Disclaimer: These jars/dependencies should be used at your own risk!

Looks like we need to link OpenBLAS with -z noexecstack on that platform, so I'll be updating the build script for that. Thanks for reporting!

Thanks to @sshepel we now have builds for linux-armhf:
https://oss.sonatype.org/content/repositories/snapshots/org/nd4j/nd4j-native/1.0.0-SNAPSHOT/
Please try out the snapshots and let us know if you encounter any problems! Thanks

hi @saudet , i try to download dl4j-examples on my raspberry pi 3, below error message pops up while build with running mvn clean install command. it seem like artifacts for linux-arm is missing in maven? can you help on this error?thanks!

[ERROR] Failed to execute goal on project dl4j-examples: Could not resolve dependencies for project org.deeplearning4j:dl4j-examples:jar:1.0.0-beta4: The following artifacts could not be resolved: org.nd4j:nd4j-native:jar:linux-arm:1.0.0-beta4, org.bytedeco:openblas:jar:linux-arm:0.3.5-1.5, org.bytedeco:mkl:jar:linux-arm:2019.3-1.5, org.bytedeco:mkl-dnn:jar:linux-arm:0.18.1-1.5: Could not find artifact org.nd4j:nd4j-native:jar:linux-arm:1.0.0-beta4 in central (https://repo.maven.apache.org/maven2) -> [Help 1]

The platform name is linux-armhf not linux-arm.

@codenamebob Could you let me know what you get for the following system properties?

  • "os.name"
  • "os.arch"
  • "sun.arch.abi"
  • "sun.boot.library.path"

@saudet hi thanks, my details is at below:

"os.name" = Linux
"os.arch" = arm
"sun.arch.abi" = gnueabihf
"sun.boot.library.path" = /usr/local/jdk1.8.0_221/jre/lib/arm

how can i change my configuration from linux-arm to linux-armhf in pom.xml? thanks

You shouldn't need to do anything special. With these values, Loader.getPlatform() should already be returning linux-armhf, so no need to do anything.

However, ND4J does use an ugly hack that might not be working. Try to call Maven with -Djavacpp.platform=linux-armhf just to be sure.

One quick comment...

The "mkl" libraries will not work on the ARM platforms. mkl is an Intel/x86 only library. So, I would recommend adding an exclude to the dependencies to exclude the mkl libs in the pom.xml ... mkl is one of many linear algebra back ends that you can use. for the raspi , i was successful with openblas as the backend.

Another quick comment...

I've built and posted various jars for the raspi w/ nd4j on the myrobotlab repo. they might be what you are looking for, but i'm pretty sure the armhf builds are available in mvn central.

http://repo.myrobotlab.org/artifactory/webapp/#/artifacts/browse/tree/General/myrobotlab/org/nd4j/nd4j-native-platform-pi-mrl/1.0.0-beta/nd4j-native-platform-pi-mrl-1.0.0-beta.jar

hi @saudet @kwatters thanks for the helps and i think it should working now (still running installation),
but i manage to get the linux-armhf.jar file download from maven with calling maven follow by -Djavacpp.platform=linux-armhf. thanks alot!

image

hi @saudet , after i successful get the linux-armhf .jar folder from maven, i try to dl4j-examples MLPClassifierLinear example from dl4j repo. but it turns out to have the error message below:

Java HotSpot(TM) Client VM warning: You have loaded library /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libgomp.so.1 which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c ', or link it with '-z noexecstack'.
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.nd4j.linalg.cpu.nativecpu.ops.NativeOpExecutioner.(NativeOpExecutioner.java:88)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at org.nd4j.linalg.factory.Nd4j.initWithBackend(Nd4j.java:5858)
at org.nd4j.linalg.factory.Nd4j.initContext(Nd4j.java:5766)
at org.nd4j.linalg.factory.Nd4j.(Nd4j.java:202)
at org.deeplearning4j.nn.conf.NeuralNetConfiguration$Builder.seed(NeuralNetConfiguration.java:671)
at org.deeplearning4j.examples.feedforward.classification.MLPClassifierLinear.main(MLPClassifierLinear.java:80)
Caused by: java.lang.RuntimeException: ND4J is probably missing dependencies. For more information, please refer to: http://nd4j.org/getstarted.html
at org.nd4j.nativeblas.NativeOpsHolder.(NativeOpsHolder.java:68)
at org.nd4j.nativeblas.NativeOpsHolder.(NativeOpsHolder.java:36)
... 11 more
Caused by: java.lang.UnsatisfiedLinkError: no jnind4jcpu in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1336)
at org.bytedeco.javacpp.Loader.load(Loader.java:1077)
at org.bytedeco.javacpp.Loader.load(Loader.java:947)
at org.nd4j.nativeblas.Nd4jCpu.(Nd4jCpu.java:10)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.bytedeco.javacpp.Loader.load(Loader.java:1006)
at org.bytedeco.javacpp.Loader.load(Loader.java:947)
at org.nd4j.nativeblas.Nd4jCpu$NativeOps.(Nd4jCpu.java:457)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.nd4j.nativeblas.NativeOpsHolder.(NativeOpsHolder.java:46)
... 12 more
Caused by: java.lang.UnsatisfiedLinkError: /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libjnind4jcpu.so: libopenblas.so.0: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1316)
... 23 more

from the error above i go to check the folder in .javacpp/cache/, and the file complaint missing is there.
image

is that anything missing from my side here? if yes, can you please help to enlighten me?

Thanks

Set the "org.bytedeco.javacpp.logger.debug" system property to "true" to get a more detailed log of the errors.

hi @saudet , after set system property "org.bytedeco.javacpp.logger.debug" to true, the below message is the logs that i get, it seem like the program is getting a wrong ELF class error (ELFCLASS64 ---> architecture word width mismatch).

i don't understand about this error message, do you have any idea?

/usr/local/jdk1.8.0_221/bin/java -javaagent:/usr/share/idea/lib/idea_rt.jar=34153:/usr/share/idea/bin -Dfile.encoding=UTF-8 -classpath /usr/local/jdk1.8.0_221/jre/lib/charsets.jar:/usr/local/jdk1.8.0_221/jre/lib/ext/cldrdata.jar:/usr/local/jdk1.8.0_221/jre/lib/ext/dnsns.jar:/usr/local/jdk1.8.0_221/jre/lib/ext/jaccess.jar:/usr/local/jdk1.8.0_221/jre/lib/ext/localedata.jar:/usr/local/jdk1.8.0_221/jre/lib/ext/nashorn.jar:/usr/local/jdk1.8.0_221/jre/lib/ext/sunec.jar:/usr/local/jdk1.8.0_221/jre/lib/ext/sunjce_provider.jar:/usr/local/jdk1.8.0_221/jre/lib/ext/sunpkcs11.jar:/usr/local/jdk1.8.0_221/jre/lib/ext/zipfs.jar:/usr/local/jdk1.8.0_221/jre/lib/jce.jar:/usr/local/jdk1.8.0_221/jre/lib/jfr.jar:/usr/local/jdk1.8.0_221/jre/lib/jsse.jar:/usr/local/jdk1.8.0_221/jre/lib/management-agent.jar:/usr/local/jdk1.8.0_221/jre/lib/resources.jar:/usr/local/jdk1.8.0_221/jre/lib/rt.jar:/home/pi/dl4j-examples/dl4j-examples/target/classes:/home/pi/.m2/repository/org/nd4j/nd4j-native-platform/1.0.0-beta4/nd4j-native-platform-1.0.0-beta4.jar:/home/pi/.m2/repository/org/bytedeco/openblas-platform/0.3.5-1.5/openblas-platform-0.3.5-1.5.jar:/home/pi/.m2/repository/org/bytedeco/openblas/0.3.5-1.5/openblas-0.3.5-1.5.jar:/home/pi/.m2/repository/org/bytedeco/openblas/0.3.5-1.5/openblas-0.3.5-1.5-android-arm.jar:/home/pi/.m2/repository/org/bytedeco/openblas/0.3.5-1.5/openblas-0.3.5-1.5-android-arm64.jar:/home/pi/.m2/repository/org/bytedeco/openblas/0.3.5-1.5/openblas-0.3.5-1.5-android-x86.jar:/home/pi/.m2/repository/org/bytedeco/openblas/0.3.5-1.5/openblas-0.3.5-1.5-android-x86_64.jar:/home/pi/.m2/repository/org/bytedeco/openblas/0.3.5-1.5/openblas-0.3.5-1.5-ios-arm64.jar:/home/pi/.m2/repository/org/bytedeco/openblas/0.3.5-1.5/openblas-0.3.5-1.5-ios-x86_64.jar:/home/pi/.m2/repository/org/bytedeco/openblas/0.3.5-1.5/openblas-0.3.5-1.5-linux-x86.jar:/home/pi/.m2/repository/org/bytedeco/openblas/0.3.5-1.5/openblas-0.3.5-1.5-linux-x86_64.jar:/home/pi/.m2/repository/org/bytedeco/openblas/0.3.5-1.5/openblas-0.3.5-1.5-linux-armhf.jar:/home/pi/.m2/repository/org/bytedeco/openblas/0.3.5-1.5/openblas-0.3.5-1.5-linux-ppc64le.jar:/home/pi/.m2/repository/org/bytedeco/openblas/0.3.5-1.5/openblas-0.3.5-1.5-macosx-x86_64.jar:/home/pi/.m2/repository/org/bytedeco/openblas/0.3.5-1.5/openblas-0.3.5-1.5-windows-x86.jar:/home/pi/.m2/repository/org/bytedeco/openblas/0.3.5-1.5/openblas-0.3.5-1.5-windows-x86_64.jar:/home/pi/.m2/repository/org/bytedeco/mkl-platform/2019.3-1.5/mkl-platform-2019.3-1.5.jar:/home/pi/.m2/repository/org/bytedeco/mkl/2019.3-1.5/mkl-2019.3-1.5.jar:/home/pi/.m2/repository/org/bytedeco/mkl/2019.3-1.5/mkl-2019.3-1.5-linux-x86.jar:/home/pi/.m2/repository/org/bytedeco/mkl/2019.3-1.5/mkl-2019.3-1.5-linux-x86_64.jar:/home/pi/.m2/repository/org/bytedeco/mkl/2019.3-1.5/mkl-2019.3-1.5-macosx-x86_64.jar:/home/pi/.m2/repository/org/bytedeco/mkl/2019.3-1.5/mkl-2019.3-1.5-windows-x86.jar:/home/pi/.m2/repository/org/bytedeco/mkl/2019.3-1.5/mkl-2019.3-1.5-windows-x86_64.jar:/home/pi/.m2/repository/org/bytedeco/mkl-dnn-platform/0.18.1-1.5/mkl-dnn-platform-0.18.1-1.5.jar:/home/pi/.m2/repository/org/bytedeco/mkl-dnn/0.18.1-1.5/mkl-dnn-0.18.1-1.5.jar:/home/pi/.m2/repository/org/bytedeco/mkl-dnn/0.18.1-1.5/mkl-dnn-0.18.1-1.5-linux-x86_64.jar:/home/pi/.m2/repository/org/bytedeco/mkl-dnn/0.18.1-1.5/mkl-dnn-0.18.1-1.5-macosx-x86_64.jar:/home/pi/.m2/repository/org/bytedeco/mkl-dnn/0.18.1-1.5/mkl-dnn-0.18.1-1.5-windows-x86_64.jar:/home/pi/.m2/repository/org/nd4j/nd4j-native/1.0.0-beta4/nd4j-native-1.0.0-beta4.jar:/home/pi/.m2/repository/org/bytedeco/javacpp/1.5/javacpp-1.5.jar:/home/pi/.m2/repository/org/nd4j/nd4j-native/1.0.0-beta4/nd4j-native-1.0.0-beta4-android-arm.jar:/home/pi/.m2/repository/org/nd4j/nd4j-native/1.0.0-beta4/nd4j-native-1.0.0-beta4-android-arm64.jar:/home/pi/.m2/repository/org/nd4j/nd4j-native/1.0.0-beta4/nd4j-native-1.0.0-beta4-android-x86.jar:/home/pi/.m2/repository/org/nd4j/nd4j-native/1.0.0-beta4/nd4j-native-1.0.0-beta4-android-x86_64.jar:/home/pi/.m2/repository/org/nd4j/nd4j-native/1.0.0-beta4/nd4j-native-1.0.0-beta4-ios-arm64.jar:/home/pi/.m2/repository/org/nd4j/nd4j-native/1.0.0-beta4/nd4j-native-1.0.0-beta4-ios-x86_64.jar:/home/pi/.m2/repository/org/nd4j/nd4j-native/1.0.0-beta4/nd4j-native-1.0.0-beta4-linux-x86_64.jar:/home/pi/.m2/repository/org/nd4j/nd4j-native/1.0.0-beta4/nd4j-native-1.0.0-beta4-macosx-x86_64.jar:/home/pi/.m2/repository/org/nd4j/nd4j-native/1.0.0-beta4/nd4j-native-1.0.0-beta4-windows-x86_64.jar:/home/pi/.m2/repository/org/nd4j/nd4j-native/1.0.0-beta4/nd4j-native-1.0.0-beta4-linux-ppc64le.jar:/home/pi/.m2/repository/org/nd4j/nd4j-native/1.0.0-beta4/nd4j-native-1.0.0-beta4-linux-armhf.jar:/home/pi/.m2/repository/org/deeplearning4j/deeplearning4j-nlp/1.0.0-beta4/deeplearning4j-nlp-1.0.0-beta4.jar:/home/pi/.m2/repository/org/nd4j/nd4j-native-api/1.0.0-beta4/nd4j-native-api-1.0.0-beta4.jar:/home/pi/.m2/repository/org/nd4j/nd4j-buffer/1.0.0-beta4/nd4j-buffer-1.0.0-beta4.jar:/home/pi/.m2/repository/commons-lang/commons-lang/2.6/commons-lang-2.6.jar:/home/pi/.m2/repository/org/deeplearning4j/deeplearning4j-core/1.0.0-beta4/deeplearning4j-core-1.0.0-beta4.jar:/home/pi/.m2/repository/org/deeplearning4j/deeplearning4j-tsne/1.0.0-beta4/deeplearning4j-tsne-1.0.0-beta4.jar:/home/pi/.m2/repository/org/deeplearning4j/nearestneighbor-core/1.0.0-beta4/nearestneighbor-core-1.0.0-beta4.jar:/home/pi/.m2/repository/org/deeplearning4j/deeplearning4j-datasets/1.0.0-beta4/deeplearning4j-datasets-1.0.0-beta4.jar:/home/pi/.m2/repository/org/deeplearning4j/deeplearning4j-datavec-iterators/1.0.0-beta4/deeplearning4j-datavec-iterators-1.0.0-beta4.jar:/home/pi/.m2/repository/org/deeplearning4j/deeplearning4j-modelimport/1.0.0-beta4/deeplearning4j-modelimport-1.0.0-beta4.jar:/home/pi/.m2/repository/org/apache/commons/commons-math3/3.5/commons-math3-3.5.jar:/home/pi/.m2/repository/org/deeplearning4j/deeplearning4j-ui-components/1.0.0-beta4/deeplearning4j-ui-components-1.0.0-beta4.jar:/home/pi/.m2/repository/org/threadly/threadly/4.10.0/threadly-4.10.0.jar:/home/pi/.m2/repository/org/objenesis/objenesis/2.6/objenesis-2.6.jar:/home/pi/.m2/repository/org/nd4j/nd4j-jackson/1.0.0-beta4/nd4j-jackson-1.0.0-beta4.jar:/home/pi/.m2/repository/org/apache/commons/commons-lang3/3.6/commons-lang3-3.6.jar:/home/pi/.m2/repository/org/deeplearning4j/deeplearning4j-zoo/1.0.0-beta4/deeplearning4j-zoo-1.0.0-beta4.jar:/home/pi/.m2/repository/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar:/home/pi/.m2/repository/org/nd4j/nd4j-api/1.0.0-beta4/nd4j-api-1.0.0-beta4.jar:/home/pi/.m2/repository/com/jakewharton/byteunits/byteunits/0.9.1/byteunits-0.9.1.jar:/home/pi/.m2/repository/com/google/flatbuffers/flatbuffers-java/1.10.0/flatbuffers-java-1.10.0.jar:/home/pi/.m2/repository/com/github/os72/protobuf-java-shaded-351/0.9/protobuf-java-shaded-351-0.9.jar:/home/pi/.m2/repository/com/github/os72/protobuf-java-util-shaded-351/0.9/protobuf-java-util-shaded-351-0.9.jar:/home/pi/.m2/repository/com/google/guava/guava/19.0/guava-19.0.jar:/home/pi/.m2/repository/com/google/code/gson/gson/2.7/gson-2.7.jar:/home/pi/.m2/repository/uk/com/robust-it/cloning/1.9.3/cloning-1.9.3.jar:/home/pi/.m2/repository/org/nd4j/nd4j-context/1.0.0-beta4/nd4j-context-1.0.0-beta4.jar:/home/pi/.m2/repository/net/ericaro/neoitertools/1.0.0/neoitertools-1.0.0.jar:/home/pi/.m2/repository/org/deeplearning4j/deeplearning4j-nn/1.0.0-beta4/deeplearning4j-nn-1.0.0-beta4.jar:/home/pi/.m2/repository/org/deeplearning4j/deeplearning4j-utility-iterators/1.0.0-beta4/deeplearning4j-utility-iterators-1.0.0-beta4.jar:/home/pi/.m2/repository/org/deeplearning4j/deeplearning4j-util/1.0.0-beta4/deeplearning4j-util-1.0.0-beta4.jar:/home/pi/.m2/repository/org/lucee/oswego-concurrent/1.3.4/oswego-concurrent-1.3.4.jar:/home/pi/.m2/repository/org/nd4j/nd4j-common/1.0.0-beta4/nd4j-common-1.0.0-beta4.jar:/home/pi/.m2/repository/com/github/oshi/oshi-core/3.4.2/oshi-core-3.4.2.jar:/home/pi/.m2/repository/net/java/dev/jna/jna-platform/4.3.0/jna-platform-4.3.0.jar:/home/pi/.m2/repository/net/java/dev/jna/jna/4.3.0/jna-4.3.0.jar:/home/pi/.m2/repository/org/threeten/threetenbp/1.3.3/threetenbp-1.3.3.jar:/home/pi/.m2/repository/it/unimi/dsi/fastutil/6.5.7/fastutil-6.5.7.jar:/home/pi/.m2/repository/org/deeplearning4j/deeplearning4j-common/1.0.0-beta4/deeplearning4j-common-1.0.0-beta4.jar:/home/pi/.m2/repository/org/deeplearning4j/deeplearning4j-ui_2.11/1.0.0-beta4/deeplearning4j-ui_2.11-1.0.0-beta4.jar:/home/pi/.m2/repository/org/deeplearning4j/deeplearning4j-play_2.11/1.0.0-beta4/deeplearning4j-play_2.11-1.0.0-beta4.jar:/home/pi/.m2/repository/com/typesafe/akka/akka-actor_2.11/2.3.16/akka-actor_2.11-2.3.16.jar:/home/pi/.m2/repository/com/typesafe/akka/akka-slf4j_2.11/2.3.16/akka-slf4j_2.11-2.3.16.jar:/home/pi/.m2/repository/javax/ws/rs/javax.ws.rs-api/2.0/javax.ws.rs-api-2.0.jar:/home/pi/.m2/repository/joda-time/joda-time/2.2/joda-time-2.2.jar:/home/pi/.m2/repository/org/hibernate/hibernate-validator/5.1.3.Final/hibernate-validator-5.1.3.Final.jar:/home/pi/.m2/repository/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar:/home/pi/.m2/repository/org/jboss/logging/jboss-logging/3.1.3.GA/jboss-logging-3.1.3.GA.jar:/home/pi/.m2/repository/com/fasterxml/classmate/1.0.0/classmate-1.0.0.jar:/home/pi/.m2/repository/org/scala-lang/scala-library/2.11.12/scala-library-2.11.12.jar:/home/pi/.m2/repository/org/scala-lang/scala-reflect/2.11.12/scala-reflect-2.11.12.jar:/home/pi/.m2/repository/org/yaml/snakeyaml/1.12/snakeyaml-1.12.jar:/home/pi/.m2/repository/com/typesafe/play/play-java_2.11/2.4.8/play-java_2.11-2.4.8.jar:/home/pi/.m2/repository/com/typesafe/play/play_2.11/2.4.8/play_2.11-2.4.8.jar:/home/pi/.m2/repository/com/typesafe/play/build-link/2.4.8/build-link-2.4.8.jar:/home/pi/.m2/repository/com/typesafe/play/play-exceptions/2.4.8/play-exceptions-2.4.8.jar:/home/pi/.m2/repository/com/typesafe/play/play-iteratees_2.11/2.4.8/play-iteratees_2.11-2.4.8.jar:/home/pi/.m2/repository/com/typesafe/play/play-json_2.11/2.4.8/play-json_2.11-2.4.8.jar:/home/pi/.m2/repository/com/typesafe/play/play-functional_2.11/2.4.8/play-functional_2.11-2.4.8.jar:/home/pi/.m2/repository/com/typesafe/play/play-datacommons_2.11/2.4.8/play-datacommons_2.11-2.4.8.jar:/home/pi/.m2/repository/com/typesafe/play/play-netty-utils/2.4.8/play-netty-utils-2.4.8.jar:/home/pi/.m2/repository/com/typesafe/play/twirl-api_2.11/1.1.1/twirl-api_2.11-1.1.1.jar:/home/pi/.m2/repository/org/scala-lang/modules/scala-xml_2.11/1.0.1/scala-xml_2.11-1.0.1.jar:/home/pi/.m2/repository/org/scala-lang/modules/scala-parser-combinators_2.11/1.0.1/scala-parser-combinators_2.11-1.0.1.jar:/home/pi/.m2/repository/org/scala-stm/scala-stm_2.11/0.7/scala-stm_2.11-0.7.jar:/home/pi/.m2/repository/org/joda/joda-convert/1.7/joda-convert-1.7.jar:/home/pi/.m2/repository/xerces/xercesImpl/2.11.0/xercesImpl-2.11.0.jar:/home/pi/.m2/repository/xml-apis/xml-apis/1.4.01/xml-apis-1.4.01.jar:/home/pi/.m2/repository/javax/transaction/jta/1.1/jta-1.1.jar:/home/pi/.m2/repository/com/google/inject/guice/4.0/guice-4.0.jar:/home/pi/.m2/repository/javax/inject/javax.inject/1/javax.inject-1.jar:/home/pi/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar:/home/pi/.m2/repository/com/google/inject/extensions/guice-assistedinject/4.0/guice-assistedinject-4.0.jar:/home/pi/.m2/repository/org/scala-lang/modules/scala-java8-compat_2.11/0.3.0/scala-java8-compat_2.11-0.3.0.jar:/home/pi/.m2/repository/org/springframework/spring-context/4.1.6.RELEASE/spring-context-4.1.6.RELEASE.jar:/home/pi/.m2/repository/org/springframework/spring-core/4.1.6.RELEASE/spring-core-4.1.6.RELEASE.jar:/home/pi/.m2/repository/org/springframework/spring-beans/4.1.6.RELEASE/spring-beans-4.1.6.RELEASE.jar:/home/pi/.m2/repository/org/reflections/reflections/0.9.9/reflections-0.9.9.jar:/home/pi/.m2/repository/org/apache/tomcat/tomcat-servlet-api/8.0.21/tomcat-servlet-api-8.0.21.jar:/home/pi/.m2/repository/org/javassist/javassist/3.19.0-GA/javassist-3.19.0-GA.jar:/home/pi/.m2/repository/net/jodah/typetools/0.5.0/typetools-0.5.0.jar:/home/pi/.m2/repository/com/typesafe/play/play-netty-server_2.11/2.4.8/play-netty-server_2.11-2.4.8.jar:/home/pi/.m2/repository/com/typesafe/play/play-server_2.11/2.4.8/play-server_2.11-2.4.8.jar:/home/pi/.m2/repository/com/typesafe/netty/netty-http-pipelining/1.1.4/netty-http-pipelining-1.1.4.jar:/home/pi/.m2/repository/org/fusesource/leveldbjni/leveldbjni-all/1.8/leveldbjni-all-1.8.jar:/home/pi/.m2/repository/com/typesafe/akka/akka-contrib_2.11/2.3.16/akka-contrib_2.11-2.3.16.jar:/home/pi/.m2/repository/com/typesafe/akka/akka-remote_2.11/2.3.16/akka-remote_2.11-2.3.16.jar:/home/pi/.m2/repository/org/uncommons/maths/uncommons-maths/1.2.2a/uncommons-maths-1.2.2a.jar:/home/pi/.m2/repository/com/typesafe/akka/akka-persistence-experimental_2.11/2.3.16/akka-persistence-experimental_2.11-2.3.16.jar:/home/pi/.m2/repository/org/iq80/leveldb/leveldb/0.5/leveldb-0.5.jar:/home/pi/.m2/repository/org/iq80/leveldb/leveldb-api/0.5/leveldb-api-0.5.jar:/home/pi/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.5.1/jackson-core-2.5.1.jar:/home/pi/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.5.1/jackson-databind-2.5.1.jar:/home/pi/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.5.1/jackson-annotations-2.5.1.jar:/home/pi/.m2/repository/com/fasterxml/jackson/module/jackson-module-scala_2.11/2.5.1/jackson-module-scala_2.11-2.5.1.jar:/home/pi/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.5.1/jackson-datatype-jdk8-2.5.1.jar:/home/pi/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.5.1/jackson-datatype-jsr310-2.5.1.jar:/home/pi/.m2/repository/com/typesafe/config/1.3.0/config-1.3.0.jar:/home/pi/.m2/repository/com/typesafe/akka/akka-cluster_2.11/2.3.16/akka-cluster_2.11-2.3.16.jar:/home/pi/.m2/repository/org/slf4j/jul-to-slf4j/1.7.21/jul-to-slf4j-1.7.21.jar:/home/pi/.m2/repository/org/webjars/bootstrap/2.3.2/bootstrap-2.3.2.jar:/home/pi/.m2/repository/org/webjars/npm/bootstrap/4.2.1/bootstrap-4.2.1.jar:/home/pi/.m2/repository/org/webjars/jquery/2.2.0/jquery-2.2.0.jar:/home/pi/.m2/repository/org/webjars/jquery-migrate/1.2.1/jquery-migrate-1.2.1.jar:/home/pi/.m2/repository/org/webjars/jquery-ui/1.10.2/jquery-ui-1.10.2.jar:/home/pi/.m2/repository/org/webjars/modernizr/2.8.3-1/modernizr-2.8.3-1.jar:/home/pi/.m2/repository/org/webjars/jquery-cookie/1.4.1-1/jquery-cookie-1.4.1-1.jar:/home/pi/.m2/repository/org/webjars/fullcalendar/1.6.4/fullcalendar-1.6.4.jar:/home/pi/.m2/repository/org/webjars/excanvas/3/excanvas-3.jar:/home/pi/.m2/repository/org/webjars/npm/cytoscape/3.3.3/cytoscape-3.3.3.jar:/home/pi/.m2/repository/org/webjars/npm/heap/0.2.6/heap-0.2.6.jar:/home/pi/.m2/repository/org/webjars/npm/lodash.debounce/4.0.8/lodash.debounce-4.0.8.jar:/home/pi/.m2/repository/org/webjars/bower/cytoscape-dagre/2.1.0/cytoscape-dagre-2.1.0.jar:/home/pi/.m2/repository/org/webjars/bower/cytoscape/3.2.5/cytoscape-3.2.5.jar:/home/pi/.m2/repository/org/webjars/bower/dagre/0.7.4/dagre-0.7.4.jar:/home/pi/.m2/repository/org/webjars/bower/graphlib/1.0.7/graphlib-1.0.7.jar:/home/pi/.m2/repository/org/webjars/bower/lodash/3.10.1-amd/lodash-3.10.1-amd.jar:/home/pi/.m2/repository/org/webjars/npm/dagre/0.8.4/dagre-0.8.4.jar:/home/pi/.m2/repository/org/webjars/npm/graphlib/2.1.7/graphlib-2.1.7.jar:/home/pi/.m2/repository/org/webjars/npm/lodash/4.17.15/lodash-4.17.15.jar:/home/pi/.m2/repository/org/webjars/npm/cytoscape-cola/2.3.0/cytoscape-cola-2.3.0.jar:/home/pi/.m2/repository/org/webjars/npm/webcola/3.3.8/webcola-3.3.8.jar:/home/pi/.m2/repository/org/webjars/npm/d3-dispatch/1.0.5/d3-dispatch-1.0.5.jar:/home/pi/.m2/repository/org/webjars/npm/d3-drag/1.2.4/d3-drag-1.2.4.jar:/home/pi/.m2/repository/org/webjars/npm/d3-selection/2.0.0-rc.1/d3-selection-2.0.0-rc.1.jar:/home/pi/.m2/repository/org/webjars/npm/d3-timer/1.0.9/d3-timer-1.0.9.jar:/home/pi/.m2/repository/org/webjars/npm/cytoscape-cose-bilkent/4.0.0/cytoscape-cose-bilkent-4.0.0.jar:/home/pi/.m2/repository/org/webjars/npm/cytoscape-euler/1.2.1/cytoscape-euler-1.2.1.jar:/home/pi/.m2/repository/org/webjars/npm/cytoscape-klay/3.1.2/cytoscape-klay-3.1.2.jar:/home/pi/.m2/repository/org/webjars/npm/klayjs/0.4.1/klayjs-0.4.1.jar:/home/pi/.m2/repository/org/webjars/npm/cytoscape-spread/3.0.0/cytoscape-spread-3.0.0.jar:/home/pi/.m2/repository/org/webjars/npm/weaverjs/1.2.0/weaverjs-1.2.0.jar:/home/pi/.m2/repository/org/webjars/retinajs/0.0.2/retinajs-0.0.2.jar:/home/pi/.m2/repository/org/webjars/flot/0.8.3/flot-0.8.3.jar:/home/pi/.m2/repository/org/webjars/explorercanvas/r3-1/explorercanvas-r3-1.jar:/home/pi/.m2/repository/org/webjars/chosen/0.9.8/chosen-0.9.8.jar:/home/pi/.m2/repository/org/webjars/uniform/2.1.2-1/uniform-2.1.2-1.jar:/home/pi/.m2/repository/org/webjars/noty/2.2.2/noty-2.2.2.jar:/home/pi/.m2/repository/org/webjars/jquery-raty/2.5.2/jquery-raty-2.5.2.jar:/home/pi/.m2/repository/org/webjars/imagesloaded/2.1.1/imagesloaded-2.1.1.jar:/home/pi/.m2/repository/org/webjars/masonry/3.1.5/masonry-3.1.5.jar:/home/pi/.m2/repository/org/webjars/jquery.sparkline/2.1.2/jquery.sparkline-2.1.2.jar:/home/pi/.m2/repository/org/webjars/jquery-knob/1.2.2/jquery-knob-1.2.2.jar:/home/pi/.m2/repository/org/webjars/datatables/1.9.4/datatables-1.9.4.jar:/home/pi/.m2/repository/org/webjars/jquery-ui-touch-punch/0.2.2/jquery-ui-touch-punch-0.2.2.jar:/home/pi/.m2/repository/org/webjars/d3js/3.3.5/d3js-3.3.5.jar:/home/pi/.m2/repository/org/webjars/bootstrap-notify/3.1.3-1/bootstrap-notify-3.1.3-1.jar:/home/pi/.m2/repository/org/webjars/npm/github-com-jboesch-Gritter/1.7.4/github-com-jboesch-Gritter-1.7.4.jar:/home/pi/.m2/repository/org/webjars/bowergithub/stenin-nikita/open-sans/0.1.3/open-sans-0.1.3.jar:/home/pi/.m2/repository/org/webjars/font-awesome/3.0.2/font-awesome-3.0.2.jar:/home/pi/.m2/repository/org/webjars/bootstrap-glyphicons/bdd2cbfba0/bootstrap-glyphicons-bdd2cbfba0.jar:/home/pi/.m2/repository/org/webjars/npm/flatbuffers/1.9.0/flatbuffers-1.9.0.jar:/home/pi/.m2/repository/commons-io/commons-io/2.5/commons-io-2.5.jar:/home/pi/.m2/repository/org/deeplearning4j/deeplearning4j-ui-model/1.0.0-beta4/deeplearning4j-ui-model-1.0.0-beta4.jar:/home/pi/.m2/repository/org/agrona/Agrona/0.5.4/Agrona-0.5.4.jar:/home/pi/.m2/repository/org/mapdb/mapdb/3.0.5/mapdb-3.0.5.jar:/home/pi/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib/1.0.7/kotlin-stdlib-1.0.7.jar:/home/pi/.m2/repository/org/jetbrains/kotlin/kotlin-runtime/1.0.7/kotlin-runtime-1.0.7.jar:/home/pi/.m2/repository/org/eclipse/collections/eclipse-collections-api/7.1.2/eclipse-collections-api-7.1.2.jar:/home/pi/.m2/repository/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.jar:/home/pi/.m2/repository/org/eclipse/collections/eclipse-collections/7.1.2/eclipse-collections-7.1.2.jar:/home/pi/.m2/repository/org/eclipse/collections/eclipse-collections-forkjoin/7.1.2/eclipse-collections-forkjoin-7.1.2.jar:/home/pi/.m2/repository/net/jpountz/lz4/lz4/1.3.0/lz4-1.3.0.jar:/home/pi/.m2/repository/org/mapdb/elsa/3.0.0-M5/elsa-3.0.0-M5.jar:/home/pi/.m2/repository/org/xerial/sqlite-jdbc/3.15.1/sqlite-jdbc-3.15.1.jar:/home/pi/.m2/repository/org/deeplearning4j/deeplearning4j-parallel-wrapper/1.0.0-beta4/deeplearning4j-parallel-wrapper-1.0.0-beta4.jar:/home/pi/.m2/repository/com/beust/jcommander/1.27/jcommander-1.27.jar:/home/pi/.m2/repository/org/nd4j/nd4j-parameter-server/1.0.0-beta4/nd4j-parameter-server-1.0.0-beta4.jar:/home/pi/.m2/repository/org/nd4j/nd4j-parameter-server-model/1.0.0-beta4/nd4j-parameter-server-model-1.0.0-beta4.jar:/home/pi/.m2/repository/org/apache/httpcomponents/httpmime/4.5.3/httpmime-4.5.3.jar:/home/pi/.m2/repository/com/mashape/unirest/unirest-java/1.4.9/unirest-java-1.4.9.jar:/home/pi/.m2/repository/org/apache/httpcomponents/httpasyncclient/4.1.1/httpasyncclient-4.1.1.jar:/home/pi/.m2/repository/org/apache/httpcomponents/httpcore-nio/4.4.4/httpcore-nio-4.4.4.jar:/home/pi/.m2/repository/org/json/json/20160212/json-20160212.jar:/home/pi/.m2/repository/org/nd4j/nd4j-aeron/1.0.0-beta4/nd4j-aeron-1.0.0-beta4.jar:/home/pi/.m2/repository/io/aeron/aeron-all/1.4.0/aeron-all-1.4.0.jar:/home/pi/.m2/repository/org/nd4j/nd4j-parameter-server-client/1.0.0-beta4/nd4j-parameter-server-client-1.0.0-beta4.jar:/home/pi/.m2/repository/org/datavec/datavec-hadoop/1.0.0-beta4/datavec-hadoop-1.0.0-beta4.jar:/home/pi/.m2/repository/org/datavec/datavec-api/1.0.0-beta4/datavec-api-1.0.0-beta4.jar:/home/pi/.m2/repository/org/freemarker/freemarker/2.3.23/freemarker-2.3.23.jar:/home/pi/.m2/repository/com/clearspring/analytics/stream/2.7.0/stream-2.7.0.jar:/home/pi/.m2/repository/net/sf/opencsv/opencsv/2.3/opencsv-2.3.jar:/home/pi/.m2/repository/com/tdunning/t-digest/3.2/t-digest-3.2.jar:/home/pi/.m2/repository/com/sun/xml/bind/jaxb-core/2.3.0/jaxb-core-2.3.0.jar:/home/pi/.m2/repository/com/sun/xml/bind/jaxb-impl/2.3.0/jaxb-impl-2.3.0.jar:/home/pi/.m2/repository/io/netty/netty/3.10.4.Final/netty-3.10.4.Final.jar:/home/pi/.m2/repository/org/apache/commons/commons-compress/1.16.1/commons-compress-1.16.1.jar:/home/pi/.m2/repository/org/apache/zookeeper/zookeeper/3.4.6/zookeeper-3.4.6.jar:/home/pi/.m2/repository/jline/jline/0.9.94/jline-0.9.94.jar:/home/pi/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar:/home/pi/.m2/repository/org/apache/hadoop/hadoop-common/2.2.0/hadoop-common-2.2.0.jar:/home/pi/.m2/repository/org/apache/hadoop/hadoop-annotations/2.2.0/hadoop-annotations-2.2.0.jar:/home/pi/.m2/repository/commons-cli/commons-cli/1.2/commons-cli-1.2.jar:/home/pi/.m2/repository/org/apache/commons/commons-math/2.1/commons-math-2.1.jar:/home/pi/.m2/repository/xmlenc/xmlenc/0.52/xmlenc-0.52.jar:/home/pi/.m2/repository/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar:/home/pi/.m2/repository/commons-codec/commons-codec/1.4/commons-codec-1.4.jar:/home/pi/.m2/repository/commons-net/commons-net/3.1/commons-net-3.1.jar:/home/pi/.m2/repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar:/home/pi/.m2/repository/org/mortbay/jetty/jetty/6.1.26/jetty-6.1.26.jar:/home/pi/.m2/repository/org/mortbay/jetty/jetty-util/6.1.26/jetty-util-6.1.26.jar:/home/pi/.m2/repository/com/sun/jersey/jersey-core/1.9/jersey-core-1.9.jar:/home/pi/.m2/repository/com/sun/jersey/jersey-json/1.9/jersey-json-1.9.jar:/home/pi/.m2/repository/org/codehaus/jettison/jettison/1.1/jettison-1.1.jar:/home/pi/.m2/repository/stax/stax-api/1.0.1/stax-api-1.0.1.jar:/home/pi/.m2/repository/org/codehaus/jackson/jackson-jaxrs/1.8.3/jackson-jaxrs-1.8.3.jar:/home/pi/.m2/repository/org/codehaus/jackson/jackson-xc/1.8.3/jackson-xc-1.8.3.jar:/home/pi/.m2/repository/com/sun/jersey/jersey-server/1.9/jersey-server-1.9.jar:/home/pi/.m2/repository/asm/asm/3.1/asm-3.1.jar:/home/pi/.m2/repository/tomcat/jasper-compiler/5.5.23/jasper-compiler-5.5.23.jar:/home/pi/.m2/repository/tomcat/jasper-runtime/5.5.23/jasper-runtime-5.5.23.jar:/home/pi/.m2/repository/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1.jar:/home/pi/.m2/repository/commons-el/commons-el/1.0/commons-el-1.0.jar:/home/pi/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar:/home/pi/.m2/repository/net/java/dev/jets3t/jets3t/0.6.1/jets3t-0.6.1.jar:/home/pi/.m2/repository/commons-configuration/commons-configuration/1.6/commons-configuration-1.6.jar:/home/pi/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar:/home/pi/.m2/repository/commons-digester/commons-digester/1.8/commons-digester-1.8.jar:/home/pi/.m2/repository/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar:/home/pi/.m2/repository/commons-beanutils/commons-beanutils-core/1.8.0/commons-beanutils-core-1.8.0.jar:/home/pi/.m2/repository/org/codehaus/jackson/jackson-core-asl/1.8.8/jackson-core-asl-1.8.8.jar:/home/pi/.m2/repository/org/codehaus/jackson/jackson-mapper-asl/1.8.8/jackson-mapper-asl-1.8.8.jar:/home/pi/.m2/repository/org/apache/avro/avro/1.7.4/avro-1.7.4.jar:/home/pi/.m2/repository/com/thoughtworks/paranamer/paranamer/2.3/paranamer-2.3.jar:/home/pi/.m2/repository/org/xerial/snappy/snappy-java/1.0.4.1/snappy-java-1.0.4.1.jar:/home/pi/.m2/repository/com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar:/home/pi/.m2/repository/org/apache/hadoop/hadoop-auth/2.2.0/hadoop-auth-2.2.0.jar:/home/pi/.m2/repository/com/jcraft/jsch/0.1.42/jsch-0.1.42.jar:/home/pi/.m2/repository/org/deeplearning4j/arbiter-deeplearning4j/1.0.0-beta4/arbiter-deeplearning4j-1.0.0-beta4.jar:/home/pi/.m2/repository/org/deeplearning4j/arbiter-core/1.0.0-beta4/arbiter-core-1.0.0-beta4.jar:/home/pi/.m2/repository/org/nd4j/jackson/1.0.0-beta4/jackson-1.0.0-beta4.jar:/home/pi/.m2/repository/org/codehaus/woodstox/stax2-api/3.1.4/stax2-api-3.1.4.jar:/home/pi/.m2/repository/org/deeplearning4j/arbiter-ui_2.11/1.0.0-beta4/arbiter-ui_2.11-1.0.0-beta4.jar:/home/pi/.m2/repository/org/datavec/datavec-data-codec/1.0.0-beta4/datavec-data-codec-1.0.0-beta4.jar:/home/pi/.m2/repository/org/datavec/datavec-data-image/1.0.0-beta4/datavec-data-image-1.0.0-beta4.jar:/home/pi/.m2/repository/com/github/jai-imageio/jai-imageio-core/1.3.0/jai-imageio-core-1.3.0.jar:/home/pi/.m2/repository/com/twelvemonkeys/imageio/imageio-jpeg/3.1.1/imageio-jpeg-3.1.1.jar:/home/pi/.m2/repository/com/twelvemonkeys/imageio/imageio-core/3.1.1/imageio-core-3.1.1.jar:/home/pi/.m2/repository/com/twelvemonkeys/imageio/imageio-metadata/3.1.1/imageio-metadata-3.1.1.jar:/home/pi/.m2/repository/com/twelvemonkeys/common/common-lang/3.1.1/common-lang-3.1.1.jar:/home/pi/.m2/repository/com/twelvemonkeys/common/common-io/3.1.1/common-io-3.1.1.jar:/home/pi/.m2/repository/com/twelvemonkeys/common/common-image/3.1.1/common-image-3.1.1.jar:/home/pi/.m2/repository/com/twelvemonkeys/imageio/imageio-tiff/3.1.1/imageio-tiff-3.1.1.jar:/home/pi/.m2/repository/com/twelvemonkeys/imageio/imageio-psd/3.1.1/imageio-psd-3.1.1.jar:/home/pi/.m2/repository/com/twelvemonkeys/imageio/imageio-bmp/3.1.1/imageio-bmp-3.1.1.jar:/home/pi/.m2/repository/org/bytedeco/javacv/1.5/javacv-1.5.jar:/home/pi/.m2/repository/org/bytedeco/opencv/4.0.1-1.5/opencv-4.0.1-1.5.jar:/home/pi/.m2/repository/org/bytedeco/ffmpeg/4.1.3-1.5/ffmpeg-4.1.3-1.5.jar:/home/pi/.m2/repository/org/bytedeco/flycapture/2.13.3.31-1.5/flycapture-2.13.3.31-1.5.jar:/home/pi/.m2/repository/org/bytedeco/libdc1394/2.2.5-1.5/libdc1394-2.2.5-1.5.jar:/home/pi/.m2/repository/org/bytedeco/libfreenect/0.5.7-1.5/libfreenect-0.5.7-1.5.jar:/home/pi/.m2/repository/org/bytedeco/libfreenect2/0.2.0-1.5/libfreenect2-0.2.0-1.5.jar:/home/pi/.m2/repository/org/bytedeco/librealsense/1.12.1-1.5/librealsense-1.12.1-1.5.jar:/home/pi/.m2/repository/org/bytedeco/videoinput/0.200-1.5/videoinput-0.200-1.5.jar:/home/pi/.m2/repository/org/bytedeco/artoolkitplus/2.3.1-1.5/artoolkitplus-2.3.1-1.5.jar:/home/pi/.m2/repository/org/bytedeco/flandmark/1.07-1.5/flandmark-1.07-1.5.jar:/home/pi/.m2/repository/org/bytedeco/leptonica/1.78.0-1.5/leptonica-1.78.0-1.5.jar:/home/pi/.m2/repository/org/bytedeco/tesseract/4.0.0-1.5/tesseract-4.0.0-1.5.jar:/home/pi/.m2/repository/org/bytedeco/opencv-platform/4.0.1-1.5/opencv-platform-4.0.1-1.5.jar:/home/pi/.m2/repository/org/bytedeco/opencv/4.0.1-1.5/opencv-4.0.1-1.5-android-arm.jar:/home/pi/.m2/repository/org/bytedeco/opencv/4.0.1-1.5/opencv-4.0.1-1.5-android-arm64.jar:/home/pi/.m2/repository/org/bytedeco/opencv/4.0.1-1.5/opencv-4.0.1-1.5-android-x86.jar:/home/pi/.m2/repository/org/bytedeco/opencv/4.0.1-1.5/opencv-4.0.1-1.5-android-x86_64.jar:/home/pi/.m2/repository/org/bytedeco/opencv/4.0.1-1.5/opencv-4.0.1-1.5-ios-arm64.jar:/home/pi/.m2/repository/org/bytedeco/opencv/4.0.1-1.5/opencv-4.0.1-1.5-ios-x86_64.jar:/home/pi/.m2/repository/org/bytedeco/opencv/4.0.1-1.5/opencv-4.0.1-1.5-linux-x86.jar:/home/pi/.m2/repository/org/bytedeco/opencv/4.0.1-1.5/opencv-4.0.1-1.5-linux-x86_64.jar:/home/pi/.m2/repository/org/bytedeco/opencv/4.0.1-1.5/opencv-4.0.1-1.5-linux-armhf.jar:/home/pi/.m2/repository/org/bytedeco/opencv/4.0.1-1.5/opencv-4.0.1-1.5-linux-ppc64le.jar:/home/pi/.m2/repository/org/bytedeco/opencv/4.0.1-1.5/opencv-4.0.1-1.5-macosx-x86_64.jar:/home/pi/.m2/repository/org/bytedeco/opencv/4.0.1-1.5/opencv-4.0.1-1.5-windows-x86.jar:/home/pi/.m2/repository/org/bytedeco/opencv/4.0.1-1.5/opencv-4.0.1-1.5-windows-x86_64.jar:/home/pi/.m2/repository/org/bytedeco/leptonica-platform/1.78.0-1.5/leptonica-platform-1.78.0-1.5.jar:/home/pi/.m2/repository/org/bytedeco/leptonica/1.78.0-1.5/leptonica-1.78.0-1.5-android-arm.jar:/home/pi/.m2/repository/org/bytedeco/leptonica/1.78.0-1.5/leptonica-1.78.0-1.5-android-arm64.jar:/home/pi/.m2/repository/org/bytedeco/leptonica/1.78.0-1.5/leptonica-1.78.0-1.5-android-x86.jar:/home/pi/.m2/repository/org/bytedeco/leptonica/1.78.0-1.5/leptonica-1.78.0-1.5-android-x86_64.jar:/home/pi/.m2/repository/org/bytedeco/leptonica/1.78.0-1.5/leptonica-1.78.0-1.5-linux-x86.jar:/home/pi/.m2/repository/org/bytedeco/leptonica/1.78.0-1.5/leptonica-1.78.0-1.5-linux-x86_64.jar:/home/pi/.m2/repository/org/bytedeco/leptonica/1.78.0-1.5/leptonica-1.78.0-1.5-linux-armhf.jar:/home/pi/.m2/repository/org/bytedeco/leptonica/1.78.0-1.5/leptonica-1.78.0-1.5-linux-ppc64le.jar:/home/pi/.m2/repository/org/bytedeco/leptonica/1.78.0-1.5/leptonica-1.78.0-1.5-macosx-x86_64.jar:/home/pi/.m2/repository/org/bytedeco/leptonica/1.78.0-1.5/leptonica-1.78.0-1.5-windows-x86.jar:/home/pi/.m2/repository/org/bytedeco/leptonica/1.78.0-1.5/leptonica-1.78.0-1.5-windows-x86_64.jar:/home/pi/.m2/repository/org/bytedeco/hdf5-platform/1.10.5-1.5/hdf5-platform-1.10.5-1.5.jar:/home/pi/.m2/repository/org/bytedeco/hdf5/1.10.5-1.5/hdf5-1.10.5-1.5.jar:/home/pi/.m2/repository/org/bytedeco/hdf5/1.10.5-1.5/hdf5-1.10.5-1.5-linux-x86.jar:/home/pi/.m2/repository/org/bytedeco/hdf5/1.10.5-1.5/hdf5-1.10.5-1.5-linux-x86_64.jar:/home/pi/.m2/repository/org/bytedeco/hdf5/1.10.5-1.5/hdf5-1.10.5-1.5-linux-ppc64le.jar:/home/pi/.m2/repository/org/bytedeco/hdf5/1.10.5-1.5/hdf5-1.10.5-1.5-macosx-x86_64.jar:/home/pi/.m2/repository/org/bytedeco/hdf5/1.10.5-1.5/hdf5-1.10.5-1.5-windows-x86.jar:/home/pi/.m2/repository/org/bytedeco/hdf5/1.10.5-1.5/hdf5-1.10.5-1.5-windows-x86_64.jar:/home/pi/.m2/repository/org/jcodec/jcodec/0.1.5/jcodec-0.1.5.jar:/home/pi/.m2/repository/jfree/jfreechart/1.0.13/jfreechart-1.0.13.jar:/home/pi/.m2/repository/jfree/jcommon/1.0.16/jcommon-1.0.16.jar:/home/pi/.m2/repository/org/jfree/jcommon/1.0.23/jcommon-1.0.23.jar:/home/pi/.m2/repository/org/apache/httpcomponents/httpclient/4.3.5/httpclient-4.3.5.jar:/home/pi/.m2/repository/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar:/home/pi/.m2/repository/ch/qos/logback/logback-classic/1.1.7/logback-classic-1.1.7.jar:/home/pi/.m2/repository/ch/qos/logback/logback-core/1.1.7/logback-core-1.1.7.jar org.deeplearning4j.examples.feedforward.classification.MLPClassifierLinear
o.n.l.f.Nd4jBackend - Loaded [CpuBackend] backend
Loading class org.nd4j.nativeblas.Nd4jCpu
Loading class org.nd4j.nativeblas.Nd4jCpu
Loading /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libgomp.so.1
Java HotSpot(TM) Client VM warning: You have loaded library /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libgomp.so.1 which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c ', or link it with '-z noexecstack'.
Failed to load /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libgomp.so.1: java.lang.UnsatisfiedLinkError: /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libgomp.so.1: /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libgomp.so.1: wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)
Loading library gomp
Failed to load for [email protected]: java.lang.UnsatisfiedLinkError: no gomp in java.library.path
Loading /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libgcc_s.so.1
Failed to load /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libgcc_s.so.1: java.lang.UnsatisfiedLinkError: /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libgcc_s.so.1: /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libgcc_s.so.1: wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)
Loading library gcc_s
Failed to load for [email protected]: java.lang.UnsatisfiedLinkError: no gcc_s in java.library.path
Loading /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libquadmath.so.0
Failed to load /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libquadmath.so.0: java.lang.UnsatisfiedLinkError: /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libquadmath.so.0: /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libquadmath.so.0: wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)
Loading library quadmath
Failed to load for [email protected]: java.lang.UnsatisfiedLinkError: no quadmath in java.library.path
Loading /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libgfortran.so.3
Failed to load /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libgfortran.so.3: java.lang.UnsatisfiedLinkError: /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libgfortran.so.3: /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libgfortran.so.3: wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)
Loading library gfortran
Failed to load for [email protected]: java.lang.UnsatisfiedLinkError: no gfortran in java.library.path
Loading /home/pi/.javacpp/cache/openblas-0.3.5-1.5-linux-armhf.jar/org/bytedeco/openblas/linux-armhf/libopenblas.so.0
Failed to load /home/pi/.javacpp/cache/openblas-0.3.5-1.5-linux-armhf.jar/org/bytedeco/openblas/linux-armhf/libopenblas.so.0: java.lang.UnsatisfiedLinkError: /home/pi/.javacpp/cache/openblas-0.3.5-1.5-linux-armhf.jar/org/bytedeco/openblas/linux-armhf/libopenblas.so.0: libgfortran.so.3: cannot open shared object file: No such file or directory
Loading library openblas
Failed to load for [email protected]: java.lang.UnsatisfiedLinkError: no openblas in java.library.path
Loading library libnd4jcpu
Failed to load for libnd4jcpu: java.lang.UnsatisfiedLinkError: no libnd4jcpu in java.library.path
Loading /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libnd4jcpu.so
Failed to load /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libnd4jcpu.so: java.lang.UnsatisfiedLinkError: /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libnd4jcpu.so: libopenblas.so.0: cannot open shared object file: No such file or directory
Loading library nd4jcpu
Failed to load for nd4jcpu: java.lang.UnsatisfiedLinkError: no nd4jcpu in java.library.path
Loading /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libjnind4jcpu.so
Failed to load /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libjnind4jcpu.so: java.lang.UnsatisfiedLinkError: /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libjnind4jcpu.so: libopenblas.so.0: cannot open shared object file: No such file or directory
Loading library jnind4jcpu
Failed to load for jnind4jcpu: java.lang.UnsatisfiedLinkError: no jnind4jcpu in java.library.path
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.nd4j.linalg.cpu.nativecpu.ops.NativeOpExecutioner.(NativeOpExecutioner.java:88)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at org.nd4j.linalg.factory.Nd4j.initWithBackend(Nd4j.java:5858)
at org.nd4j.linalg.factory.Nd4j.initContext(Nd4j.java:5766)
at org.nd4j.linalg.factory.Nd4j.(Nd4j.java:202)
at org.deeplearning4j.nn.conf.NeuralNetConfiguration$Builder.seed(NeuralNetConfiguration.java:671)
at org.deeplearning4j.examples.feedforward.classification.MLPClassifierLinear.main(MLPClassifierLinear.java:82)
Caused by: java.lang.RuntimeException: ND4J is probably missing dependencies. For more information, please refer to: http://nd4j.org/getstarted.html
at org.nd4j.nativeblas.NativeOpsHolder.(NativeOpsHolder.java:68)
at org.nd4j.nativeblas.NativeOpsHolder.(NativeOpsHolder.java:36)
... 11 more
Caused by: java.lang.UnsatisfiedLinkError: no jnind4jcpu in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1336)
at org.bytedeco.javacpp.Loader.load(Loader.java:1077)
at org.bytedeco.javacpp.Loader.load(Loader.java:947)
at org.nd4j.nativeblas.Nd4jCpu.(Nd4jCpu.java:10)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.bytedeco.javacpp.Loader.load(Loader.java:1006)
at org.bytedeco.javacpp.Loader.load(Loader.java:947)
at org.nd4j.nativeblas.Nd4jCpu$NativeOps.(Nd4jCpu.java:457)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.nd4j.nativeblas.NativeOpsHolder.(NativeOpsHolder.java:46)
... 12 more
Caused by: java.lang.UnsatisfiedLinkError: /home/pi/.javacpp/cache/nd4j-native-1.0.0-beta4-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libjnind4jcpu.so: libopenblas.so.0: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1316)
... 23 more

my .javacpp directory contain file as below:
2019-08-22 14_42_18-10 10 0 124 (raspberrypi) - VNC Viewer

@bobbyskymind You'll need a build for linux-arm64 to be able to use it with a 64-bit version of the JDK, see issue #3458.

hi @saudet , sorry i get a bit confuse here, my raspberry pi have width of 32 bits and JDK version also is 32 bits. so, do you mean that i need a build of linux-armhf with 64 bit version????

image
image

Ah yes, I remember there was an issue with the bundled binaries for linux-armhf: https://github.com/eclipse/deeplearning4j/issues/7824#issuecomment-498238164

You'll need to install those files manually for now

hi @saudet , thanks for the references, anyway i was almost reach the end of installing the dl4j library for my raspbery pi B+, i am stuck at nd4s 1.0.0-SNAPSHOT installation and below error message occur when i doing the installation.

[INFO] --- scala-maven-plugin:3.3.1:compile (default) @ nd4s ---
[WARNING] Expected all dependencies to require Scala version: 2.11.12
[WARNING] com.nativelibs4java:scalaxy-loops_2.11:0.3.4 requires scala version: 2.11.2
[WARNING] Multiple versions of scala libraries detected!
[INFO] /home/pi/deeplearning4j/nd4s/src/main/scala:-1: info: compiling
[INFO] Compiling 14 source files to /home/pi/deeplearning4j/nd4s/target/classes at 1566955248803
[ERROR] /home/pi/deeplearning4j/nd4s/src/main/scala/org/nd4s/Implicits.scala:48: error: overloaded method value create with alternatives:
[ERROR] (x$1: java.util.Collection[String],x$2: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: String
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.buffer.DataType,x$2: Array[Long],x$3: Array[Long],x$4: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Int,x$2: Int,x$3: Array[Int],x$4: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Long],x$2: Array[Long],x$3: Long,x$4: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.buffer.DataBuffer,x$2: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.buffer.DataBuffer,x$2: Int
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.buffer.DataBuffer,x$2: Array[Long],x$3: Array[Long],x$4: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.buffer.DataBuffer,x$2: Array[Int],x$3: Array[Int],x$4: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.buffer.DataType,x$2: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Long
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Int)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Int,x$2: Int,x$3: Array[Int],x$4: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: java.util.List[org.nd4j.linalg.api.ndarray.INDArray],x$2: Long
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: java.util.List[org.nd4j.linalg.api.ndarray.INDArray],x$2: Int)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Float],x$2: Array[Int],x$3: Array[Int],x$4: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Double],x$2: Array[Long],x$3: Long,x$4: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Double],x$2: Array[Int],x$3: Long,x$4: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Double],x$2: Int
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Double],x$2: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Float],x$2: Long
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Float],x$2: Int)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Array[Boolean]],x$2: Long
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Int],x$2: Array[Double])org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Int],x$2: Array[Float]
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] cannot be applied to (Array[Float], Array[Int], Char, Int)
[ERROR] Nd4j.create(underlying, shape, ord.value, offset)
[ERROR] ^
[ERROR] /home/pi/deeplearning4j/nd4s/src/main/scala/org/nd4s/Implicits.scala:51: error: overloaded method value create with alternatives:
[ERROR] (x$1: java.util.Collection[String],x$2: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: String
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Long],x$2: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Int],x$2: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Int],x$2: org.nd4j.linalg.api.buffer.DataType)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.buffer.DataBuffer,x$2: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.buffer.DataBuffer,x$2: Int
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.buffer.DataType,x$2: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Long
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Int)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Int,x$2: Int)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Long],x$2: Array[Long])org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Int],x$2: Array[Int])org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: java.util.List[org.nd4j.linalg.api.ndarray.INDArray],x$2: Long
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: java.util.List[org.nd4j.linalg.api.ndarray.INDArray],x$2: Int)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Double],x$2: Int
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Double],x$2: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Float],x$2: Long
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Float],x$2: Int)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Int,x$2: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Double],x$2: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Float],x$2: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Array[Double]],x$2: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Array[Boolean]],x$2: Long
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Array[Float]],x$2: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Int],x$2: Array[Double])org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.shape.LongShapeDescriptor,x$2: Boolean)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Int],x$2: Array[Float]
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] cannot be applied to (Array[Float], Array[Int])
[ERROR] Nd4j.create(underlying, shape.toArray)
[ERROR] ^
[ERROR] /home/pi/deeplearning4j/nd4s/src/main/scala/org/nd4s/Implicits.scala:67: error: overloaded method value create with alternatives:
[ERROR] (x$1: java.util.Collection[String],x$2: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: String
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Long],x$2: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Int],x$2: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Int],x$2: org.nd4j.linalg.api.buffer.DataType)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.buffer.DataBuffer,x$2: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.buffer.DataBuffer,x$2: Int
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.buffer.DataType,x$2: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Long
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Int)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Int,x$2: Int)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Long],x$2: Array[Long])org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Int],x$2: Array[Int])org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: java.util.List[org.nd4j.linalg.api.ndarray.INDArray],x$2: Long
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: java.util.List[org.nd4j.linalg.api.ndarray.INDArray],x$2: Int)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Double],x$2: Int
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Double],x$2: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Float],x$2: Long
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Float],x$2: Int)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Int,x$2: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Double],x$2: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Float],x$2: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Array[Double]],x$2: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Array[Boolean]],x$2: Long
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Array[Float]],x$2: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Int],x$2: Array[Double])org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.shape.LongShapeDescriptor,x$2: Boolean)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Int],x$2: Array[Float]
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] cannot be applied to (Array[Double], Array[Int])
[ERROR] Nd4j.create(underlying, shape.toArray)
[ERROR] ^
[ERROR] /home/pi/deeplearning4j/nd4s/src/main/scala/org/nd4s/Implicits.scala:80: error: overloaded method value create with alternatives:
[ERROR] (x$1: java.util.Collection[String],x$2: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: String
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.buffer.DataType,x$2: Array[Long],x$3: Array[Long],x$4: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Int,x$2: Int,x$3: Array[Int],x$4: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Long],x$2: Array[Long],x$3: Long,x$4: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.buffer.DataBuffer,x$2: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.buffer.DataBuffer,x$2: Int
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.buffer.DataBuffer,x$2: Array[Long],x$3: Array[Long],x$4: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.buffer.DataBuffer,x$2: Array[Int],x$3: Array[Int],x$4: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.buffer.DataType,x$2: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Long
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Int)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Int,x$2: Int,x$3: Array[Int],x$4: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: java.util.List[org.nd4j.linalg.api.ndarray.INDArray],x$2: Long
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: java.util.List[org.nd4j.linalg.api.ndarray.INDArray],x$2: Int)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Float],x$2: Array[Int],x$3: Array[Int],x$4: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Double],x$2: Array[Long],x$3: Long,x$4: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Double],x$2: Array[Int],x$3: Long,x$4: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Double],x$2: Int
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Double],x$2: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Float],x$2: Long
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Float],x$2: Int)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Array[Boolean]],x$2: Long
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Int],x$2: Array[Double])org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Int],x$2: Array[Float]
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] cannot be applied to (Array[Float], Array[Int], Char, Int)
[ERROR] Nd4j.create(underlying.map(_.toFloat), shape, ord.value, offset)
[ERROR] ^
[ERROR] /home/pi/deeplearning4j/nd4s/src/main/scala/org/nd4s/Implicits.scala:83: error: overloaded method value create with alternatives:
[ERROR] (x$1: java.util.Collection[String],x$2: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: String
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Long],x$2: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Int],x$2: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Int],x$2: org.nd4j.linalg.api.buffer.DataType)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.buffer.DataBuffer,x$2: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.buffer.DataBuffer,x$2: Int
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.buffer.DataType,x$2: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Long
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Int)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Int,x$2: Int)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Long],x$2: Array[Long])org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Int],x$2: Array[Int])org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: java.util.List[org.nd4j.linalg.api.ndarray.INDArray],x$2: Long
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: java.util.List[org.nd4j.linalg.api.ndarray.INDArray],x$2: Int)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Double],x$2: Int
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Double],x$2: Long)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Float],x$2: Long
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Float],x$2: Int)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Int,x$2: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Double],x$2: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Float],x$2: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Array[Double]],x$2: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Array[Boolean]],x$2: Long
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Array[Float]],x$2: Char)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Int],x$2: Array[Double])org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: org.nd4j.linalg.api.shape.LongShapeDescriptor,x$2: Boolean)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] (x$1: Array[Int],x$2: Array[Float]
)org.nd4j.linalg.api.ndarray.INDArray
[ERROR] cannot be applied to (Array[Float], Array[Int])
[ERROR] Nd4j.create(underlying.map(_.toFloat), shape.toArray)
[ERROR] ^
[ERROR] /home/pi/deeplearning4j/nd4s/src/main/scala/org/nd4s/OperatableNDArray.scala:28: error: ambiguous reference to overloaded definition,
[ERROR] both method toString in class Object of type ()String
[ERROR] and method toString in trait INDArray of type (x$1: Long, x$2: Boolean, x$3: Int)String
[ERROR] match expected type ?
[ERROR] def +(that: String): String = underlying.toString + that
[ERROR] ^
[ERROR] 6 errors found
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for nd4s 1.0.0-SNAPSHOT:
[INFO]
[INFO] nd4s ............................................... FAILURE [04:59 min]
[INFO] gym-java-client .................................... SKIPPED
[INFO] rl4j ............................................... SKIPPED
[INFO] rl4j-api ........................................... SKIPPED
[INFO] rl4j-core .......................................... SKIPPED
[INFO] rl4j-gym ........................................... SKIPPED
[INFO] rl4j-doom .......................................... SKIPPED
[INFO] rl4j-ale ........................................... SKIPPED
[INFO] rl4j-malmo ......................................... SKIPPED
[INFO] ScalNet ............................................ SKIPPED
[INFO] jumpy .............................................. SKIPPED
[INFO] pydatavec .......................................... SKIPPED
[INFO] pydl4j ............................................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 05:24 min
[INFO] Finished at: 2019-08-28T09:21:42+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal net.alchim31.maven:scala-maven-plugin:3.3.1:compile (default) on project nd4s: wrap: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

hi @saudet , below screen shot is the maven comment that i use to initiate the installation. Do you have any idea about how to get nd4s installation pass? thanks.

image

Unless you use Scala, you can skip ND4S. It's not needed for anything else.

Ah yes, I remember there was an issue with the bundled binaries for linux-armhf: #7824 (comment)

You'll need to install those files manually for now

hi @saudet , do you have any reference on how to manually install those file? i mean those share object that from linux-arm64, as i trying to build with -Djavacpp.platform=linux-arm64, it return error while building.

For linux-arm64, something like this should work: https://github.com/bytedeco/javacpp-presets/blob/master/ci/install-arm.sh

It seems the libnd4j compile scripts can't find openblas correctly on debian buster. The locations of the openblas files are a bit different on debian buster, see https://packages.debian.org/buster/amd64/libopenblas-dev/filelist. I believe I've worked around that. See https://gist.github.com/MarkusKramer/1e3a1852b670ebdf55634f2cbb72a8a4 for how I've build it, I'm using Docker to be able to to easily reproduce the build environment.

However, during the linking stage ./buildnativeoperations.sh -o linux-armhf fails with:

[100%] Linking CXX static library libnd4jcpustatic.a
[100%] Linking CXX shared library libnd4jcpu.so
/opt/OpenBLAS/lib/libopenblas.so: file not recognized: File format not recognized
collect2: error: ld returned 1 exit status

I'm building on Ubuntu 19.10, with kernel 5.3.0-26-generic, x86_64 arch and trying to compile for my Raspberry PI 4. Any help would be much appreciated! I'm happy to share the Docker image on docker hub once it's working.

Please try to use Maven to build libnd4j.

Ye, either use Maven to build everything (in this case JavaCPP OpenBLAS
binary will be used automatically as Maven dependency), or provide path to
proper ARM OpenBLAS library. Maven is probably easier.

On Sun, Jan 19, 2020 at 6:00 AM Samuel Audet notifications@github.com
wrote:

Please try to use Maven to build libnd4j.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/eclipse/deeplearning4j/issues/6409?email_source=notifications&email_token=AC5O575KXKDFA3LWDOG7QNDQ6O65XA5CNFSM4FUJWQ72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJKHQ3A#issuecomment-575961196,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AC5O577P2COQMHDTT3RGOALQ6O65XANCNFSM4FUJWQ7Q
.

Thanks for the advice! So step 3 in libnd4j/RaspberryPi.md is actuall unnecessary? I could successfully compile it by running (in deeplearning4j root folder, using GIT tag 'deeplearning4j-1.0.0-beta6'):

mvn clean install -Djavacpp.platform=linux-armhf -Djavacpp.platform.compiler=$HOME/raspberrypi/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -DskipTests  -Dmaven.javadoc.skip=true  -pl '!:nd4j-tests'

However when running it I get java.lang.UnsatisfiedLinkError: /root/.javacpp/cache/nd4j-native-1.0.0-beta6-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libjnind4jcpu.so: libgomp.so.1: wrong ELF class: ELFCLASS64. Full log is here https://gist.github.com/MarkusKramer/f1ff52b9998fb556ed0aca09243653ef

Also, I've tried to add -Djavacpp.platform.compiler.output="-Wl,-rpath,$ORIGIN/ -Wl,-z,noexecstack -Wl,-Bsymbolic -Wall -fPIC -pthread -shared -o\u0020" to fix the stack guard issue - but that didn't help.

Thanks for the advice! So step 3 in libnd4j/RaspberryPi.md is actuall unnecessary? I could successfully compile it by running (in deeplearning4j root folder, using GIT tag 'deeplearning4j-1.0.0-beta6'):

Yeah that's outdated, needs to be updated, like a lot of other things in this repository...

mvn clean install -Djavacpp.platform=linux-armhf -Djavacpp.platform.compiler=$HOME/raspberrypi/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -DskipTests  -Dmaven.javadoc.skip=true  -pl '!:nd4j-tests'

However when running it I get java.lang.UnsatisfiedLinkError: /root/.javacpp/cache/nd4j-native-1.0.0-beta6-linux-armhf.jar/org/nd4j/nativeblas/linux-armhf/libjnind4jcpu.so: libgomp.so.1: wrong ELF class: ELFCLASS64. Full log is here https://gist.github.com/MarkusKramer/f1ff52b9998fb556ed0aca09243653ef

That means you'll need to install libgomp for ARM as well.

Many thanks. I'm successfully running dl4j on my raspberry pi 4 now.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

tintinxue1 picture tintinxue1  Â·  5Comments

atuzhykov picture atuzhykov  Â·  4Comments

jesuino picture jesuino  Â·  5Comments

turambar picture turambar  Â·  3Comments

AlexDBlack picture AlexDBlack  Â·  5Comments