I reach to you because I get an error with java when trying to to a DeepLearning process
I wanted to breach the topic of image handling, so I went onto the marketplace and got the three extensions Image Handling 0.2.001, Deep Learning 1.2.001, and ND4J Back End 1.2.000
However, after reading the image correctly, I get an error when reaching the Deep Learning (tensor) module. When running for the first time I get:
I am working with the image set MNIST (sorry can't post the link on my message, but the standard image dataset)
I am on Windows 10, using RapidMiner9.10.
Exception: java.lang.UnsatisfiedLinkError
Message: no jniopencv_core in java.library.path
Stack trace:
java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
java.lang.Runtime.loadLibrary0(Runtime.java:871)
java.lang.System.loadLibrary(System.java:1124)
org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1718)
org.bytedeco.javacpp.Loader.load(Loader.java:1328)
org.bytedeco.javacpp.Loader.load(Loader.java:1132)
org.bytedeco.opencv.global.opencv_core.<clinit>(opencv_core.java:16)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:348)
org.bytedeco.javacpp.Loader.load(Loader.java:1200)
org.bytedeco.javacpp.Loader.load(Loader.java:1148)
org.bytedeco.javacv.OpenCVFrameConverter.<clinit>(OpenCVFrameConverter.java:43)
org.datavec.image.loader.NativeImageLoader.<init>(NativeImageLoader.java:60)
org.datavec.image.loader.NativeImageLoader.<init>(NativeImageLoader.java:117)
org.datavec.image.recordreader.BaseImageRecordReader.initialize(BaseImageRecordReader.java:131)
org.datavec.image.recordreader.BaseImageRecordReader.initialize(BaseImageRecordReader.java:206)
com.rapidminer.extension.image_handling.tool.SerializableImageRecordReaderProxy.initialize(SerializableImageRecordReaderProxy.java:213)
com.rapidminer.extension.image_handling.tool.SerializableImageRecordReaderProxy.<init>(SerializableImageRecordReaderProxy.java:83)
com.rapidminer.extension.image_handling.ioobject.ImagePreProcessingModel.doApply(ImagePreProcessingModel.java:147)
com.rapidminer.extension.image_handling.ioobject.ImagePreProcessingModel.apply(ImagePreProcessingModel.java:111)
com.rapidminer.extension.image_handling.operator.ImagePreProcessor.doWork(ImagePreProcessor.java:134)
com.rapidminer.operator.Operator.execute(Operator.java:1023)
com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:77)
com.rapidminer.operator.ExecutionUnit$2.run(ExecutionUnit.java:805)
com.rapidminer.operator.ExecutionUnit$2.run(ExecutionUnit.java:800)
java.security.AccessController.doPrivileged(Native Method)
com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:800)
com.rapidminer.operator.OperatorChain.doWork(OperatorChain.java:423)
com.rapidminer.operator.Operator.execute(Operator.java:1023)
com.rapidminer.Process.executeRoot(Process.java:1464)
com.rapidminer.Process.lambda$executeRootInPool$5(Process.java:1443)
com.rapidminer.studio.concurrency.internal.AbstractConcurrencyContext$AdaptedCallable.exec(AbstractConcurrencyContext.java:362)
java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
Cause
Exception: java.lang.UnsatisfiedLinkError
Message: C:\Users\yho67\.javacpp\cache\dl-windows-libs-1.2.1-all.jar\org\bytedeco\opencv\windows-x86_64\jniopencv_core.dll: Can't find dependent libraries
Stack trace:
java.lang.ClassLoader$NativeLibrary.load(Native Method)
java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1934)
java.lang.ClassLoader.loadLibrary(ClassLoader.java:1817)
java.lang.Runtime.load0(Runtime.java:810)
java.lang.System.load(System.java:1088)
org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1668)
org.bytedeco.javacpp.Loader.load(Loader.java:1328)
org.bytedeco.javacpp.Loader.load(Loader.java:1132)
org.bytedeco.opencv.global.opencv_core.<clinit>(opencv_core.java:16)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:348)
org.bytedeco.javacpp.Loader.load(Loader.java:1200)
org.bytedeco.javacpp.Loader.load(Loader.java:1148)
org.bytedeco.javacv.OpenCVFrameConverter.<clinit>(OpenCVFrameConverter.java:43)
org.datavec.image.loader.NativeImageLoader.<init>(NativeImageLoader.java:60)
org.datavec.image.loader.NativeImageLoader.<init>(NativeImageLoader.java:117)
org.datavec.image.recordreader.BaseImageRecordReader.initialize(BaseImageRecordReader.java:131)
org.datavec.image.recordreader.BaseImageRecordReader.initialize(BaseImageRecordReader.java:206)
com.rapidminer.extension.image_handling.tool.SerializableImageRecordReaderProxy.initialize(SerializableImageRecordReaderProxy.java:213)
com.rapidminer.extension.image_handling.tool.SerializableImageRecordReaderProxy.<init>(SerializableImageRecordReaderProxy.java:83)
com.rapidminer.extension.image_handling.ioobject.ImagePreProcessingModel.doApply(ImagePreProcessingModel.java:147)
com.rapidminer.extension.image_handling.ioobject.ImagePreProcessingModel.apply(ImagePreProcessingModel.java:111)
com.rapidminer.extension.image_handling.operator.ImagePreProcessor.doWork(ImagePreProcessor.java:134)
com.rapidminer.operator.Operator.execute(Operator.java:1023)
com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:77)
com.rapidminer.operator.ExecutionUnit$2.run(ExecutionUnit.java:805)
com.rapidminer.operator.ExecutionUnit$2.run(ExecutionUnit.java:800)
java.security.AccessController.doPrivileged(Native Method)
com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:800)
com.rapidminer.operator.OperatorChain.doWork(OperatorChain.java:423)
com.rapidminer.operator.Operator.execute(Operator.java:1023)
com.rapidminer.Process.executeRoot(Process.java:1464)
com.rapidminer.Process.lambda$executeRootInPool$5(Process.java:1443)
com.rapidminer.studio.concurrency.internal.AbstractConcurrencyContext$AdaptedCallable.exec(AbstractConcurrencyContext.java:362)
java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
And any run after the first, I get this error message :
Exception: java.lang.NoClassDefFoundError
Message: Could not initialize class org.bytedeco.javacv.OpenCVFrameConverter$ToMat
Stack trace:
org.datavec.image.loader.NativeImageLoader.<init>(NativeImageLoader.java:60)
org.datavec.image.loader.NativeImageLoader.<init>(NativeImageLoader.java:117)
org.datavec.image.recordreader.BaseImageRecordReader.initialize(BaseImageRecordReader.java:131)
org.datavec.image.recordreader.BaseImageRecordReader.initialize(BaseImageRecordReader.java:206)
com.rapidminer.extension.image_handling.tool.SerializableImageRecordReaderProxy.initialize(SerializableImageRecordReaderProxy.java:213)
com.rapidminer.extension.image_handling.tool.SerializableImageRecordReaderProxy.<init>(SerializableImageRecordReaderProxy.java:83)
com.rapidminer.extension.image_handling.ioobject.ImagePreProcessingModel.doApply(ImagePreProcessingModel.java:147)
com.rapidminer.extension.image_handling.ioobject.ImagePreProcessingModel.apply(ImagePreProcessingModel.java:111)
com.rapidminer.extension.image_handling.operator.ImagePreProcessor.doWork(ImagePreProcessor.java:134)
com.rapidminer.operator.Operator.execute(Operator.java:1023)
com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:77)
com.rapidminer.operator.ExecutionUnit$2.run(ExecutionUnit.java:805)
com.rapidminer.operator.ExecutionUnit$2.run(ExecutionUnit.java:800)
java.security.AccessController.doPrivileged(Native Method)
com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:800)
com.rapidminer.operator.OperatorChain.doWork(OperatorChain.java:423)
com.rapidminer.operator.Operator.execute(Operator.java:1023)
com.rapidminer.Process.executeRoot(Process.java:1464)
com.rapidminer.Process.lambda$executeRootInPool$5(Process.java:1443)
com.rapidminer.studio.concurrency.internal.AbstractConcurrencyContext$AdaptedCallable.exec(AbstractConcurrencyContext.java:362)
java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)