javaneural-networkdeeplearning4j

Deeplearning4j org.nd4j.linalg.factory.Nd4jBackend$NoAvailableBackendException


I cannot run a simple program that I wrote to start understanding Deeplearning4j.

I tried the code from this link: Deep Learning In Java Using Deeplearning4J

unfortunately it didn't work for me. In fact I have this error:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. Exception in thread "main" java.lang.ExceptionInInitializerError at org.deeplearning4j.datasets.datavec.RecordReaderMultiDataSetIterator.convertWritables(RecordReaderMultiDataSetIterator.java:377) at org.deeplearning4j.datasets.datavec.RecordReaderMultiDataSetIterator.convertFeaturesOrLabels(RecordReaderMultiDataSetIterator.java:271) at org.deeplearning4j.datasets.datavec.RecordReaderMultiDataSetIterator.nextMultiDataSet(RecordReaderMultiDataSetIterator.java:234) at org.deeplearning4j.datasets.datavec.RecordReaderMultiDataSetIterator.next(RecordReaderMultiDataSetIterator.java:177) at org.deeplearning4j.datasets.datavec.RecordReaderDataSetIterator.next(RecordReaderDataSetIterator.java:306) at org.deeplearning4j.datasets.datavec.RecordReaderDataSetIterator.next(RecordReaderDataSetIterator.java:393) at org.deeplearning4j.datasets.datavec.RecordReaderDataSetIterator.next(RecordReaderDataSetIterator.java:51) at com.alessio.text.App.main(App.java:38) Caused by: java.lang.RuntimeException: org.nd4j.linalg.factory.Nd4jBackend$NoAvailableBackendException: Please ensure that you have an nd4j backend on your classpath. Please see: http://nd4j.org/getstarted.html at org.nd4j.linalg.factory.Nd4j.initContext(Nd4j.java:6089) at org.nd4j.linalg.factory.Nd4j.(Nd4j.java:201) ... 8 moreenter code here Caused by: org.nd4j.linalg.factory.Nd4jBackend$NoAvailableBackendException: Please ensure that you have an nd4j backend on your classpath. Please see: http://nd4j.org/getstarted.html at org.nd4j.linalg.factory.Nd4jBackend.load(Nd4jBackend.java:258) at org.nd4j.linalg.factory.Nd4j.initContext(Nd4j.java:6086) ... 9 more

I'll appreciate any advice. Thanks in advance


Solution

  • In addition to the comments above: You need an nd4j backend. Please take a look at the error message. The documentation for that is right in that link. Usually you want nd4j-native-platform and the latest version. For the latest versions of things, please use our examples repo: https://github.com/deeplearning4j/dl4j-examples