Waikato / wekaDeeplearning4j

Weka package for the Deeplearning4j java library
https://deeplearning.cms.waikato.ac.nz/
GNU General Public License v3.0
185 stars 202 forks source link

Unable to choose layer specification through UI #38

Closed sarda014 closed 6 years ago

sarda014 commented 6 years ago

I have installed wekaDeeplearning4j package using the package manager, but I am not able to choose different type of layers for network.

Steps to reproduce -

Weka version: 3.8.2 wekaDeeplearning4j package version: 1.5.6 Operating System: macOS

eibe commented 6 years ago

This works fine for me using macOS with Oracle Java. Details below. I’m using WEKA 3.9.4-SNAPSHOT, but there should be no difference regarding this to 3.8.3 or 3.9.3. Note that I have not installed the GPU set-up because my Mac has an AMD GPU.

Package version:


more ~/wekafiles/packages/wekaDeeplearning4j/Description.props

Package name (required)

PackageName=wekaDeeplearning4j

Version (required)

Version=1.5.6

Date

Date=2018-08-16


From GUIChooser -> Help -> SystemInfo:

WEKA_HOME /Users/eibe/wekafiles awt.toolkit sun.lwawt.macosx.LWCToolkit file.encoding UTF-8 file.encoding.pkg sun.io file.separator / gopherProxySet false java.awt.graphicsenv sun.awt.CGraphicsEnvironment java.awt.printerjob sun.lwawt.macosx.CPrinterJob java.class.path /Users/eibe/IdeaProjects/Weka/trunk/weka/build/classes/ java.class.version 52.0 java.endorsed.dirs /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/endorsed java.ext.dirs /Users/eibe/Library/Java/Extensions:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/ext:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java java.home /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre java.io.tmpdir /var/folders/l1/5vsyc_316ps69_s_s4t8lbnw0000gp/T/ java.library.path /Users/eibe/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.:/Users/eibe/wekafiles/native java.runtime.name Java(TM) SE Runtime Environment java.runtime.version 1.8.0_171-b11 java.specification.name Java Platform API Specification java.specification.vendor Oracle Corporation java.specification.version 1.8 java.vendor Oracle Corporation java.vendor.url http://java.oracle.com/ java.vendor.url.bug http://bugreport.sun.com/bugreport/ java.version 1.8.0_171 java.vm.info mixed mode java.vm.name Java HotSpot(TM) 64-Bit Server VM java.vm.specification.name Java Virtual Machine Specification java.vm.specification.vendor Oracle Corporation java.vm.specification.version 1.8 java.vm.vendor Oracle Corporation java.vm.version 25.171-b11 line.separator
memory.initial 512MB (536870912) memory.max 7282MB (7635730432) os.arch x86_64 os.name Mac OS X os.version 10.13.6 path.separator : sun.arch.data.model 64 sun.awt.enableExtraMouseButtons true sun.boot.class.path /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/classes sun.boot.library.path /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib sun.cpu.endian little sun.cpu.isalist sun.font.fontmanager sun.font.CFontManager sun.io.unicode.encoding UnicodeBig sun.java.command weka.gui.GUIChooser sun.java.launcher SUN_STANDARD sun.jnu.encoding UTF-8 sun.management.compiler HotSpot 64-Bit Tiered Compilers sun.os.patch.level unknown ui.currentLookAndFeel com.apple.laf.AquaLookAndFeel ui.installedLookAndFeels javax.swing.plaf.metal.MetalLookAndFeel,javax.swing.plaf.nimbus.NimbusLookAndFeel,com.sun.java.swing.plaf.motif.MotifLookAndFeel,com.apple.laf.AquaLookAndFeel user.country NZ user.dir /Users/eibe/IdeaProjects/Weka/trunk/weka user.home /Users/eibe user.language en user.name eibe user.timezone Pacific/Auckland weka.version 3.9.4-SNAPSHOT

On 25/09/2018, at 11:48 AM, sarda014 notifications@github.com wrote:

I have installed wekaDeeplearning4j package using the package manager, but I am not able to choose different type of layers for network.

Steps to reproduce -

• Choose Dl4jMlpClassifier • Click on layer specification • Click on 'Choose' to change the type of layer • Nothing happens, and I get the following stacktrace in logs - 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:5449) at org.nd4j.linalg.factory.Nd4j.(Nd4j.java:213) ... 136 more

Weka version: 3.8.2 wekaDeeplearning4j package version: 1.5.6 Operating System: macOS

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

eibe commented 6 years ago

Sorry, I take that back. It does NOT work for me either. Moreover, the same problem occurs on Linux, regardless of whether GPU or GPU support is used!

Dl4jMlpClassifier appears to work fine from the CLI though. I tried

java weka.Run .Dl4jMlpClassifier -layer ".DenseLayer -nOut 10" -layer ".OutputLayer" -t ~/datasets/UCI/iris.arff

and it works fine on both macOS and Linux.

Perhaps there is an issue with serialisation?

On 26/09/2018, at 1:48 PM, Eibe Frank eibe@waikato.ac.nz wrote:

This works fine for me using macOS with Oracle Java. Details below. I’m using WEKA 3.9.4-SNAPSHOT, but there should be no difference regarding this to 3.8.3 or 3.9.3. Note that I have not installed the GPU set-up because my Mac has an AMD GPU.

Package version:


more ~/wekafiles/packages/wekaDeeplearning4j/Description.props

Package name (required)

PackageName=wekaDeeplearning4j

Version (required)

Version=1.5.6

Date

Date=2018-08-16


From GUIChooser -> Help -> SystemInfo:

WEKA_HOME /Users/eibe/wekafiles awt.toolkit sun.lwawt.macosx.LWCToolkit file.encoding UTF-8 file.encoding.pkg sun.io file.separator / gopherProxySet false java.awt.graphicsenv sun.awt.CGraphicsEnvironment java.awt.printerjob sun.lwawt.macosx.CPrinterJob java.class.path /Users/eibe/IdeaProjects/Weka/trunk/weka/build/classes/ java.class.version 52.0 java.endorsed.dirs /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/endorsed java.ext.dirs /Users/eibe/Library/Java/Extensions:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/ext:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java java.home /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre java.io.tmpdir /var/folders/l1/5vsyc_316ps69_s_s4t8lbnw0000gp/T/ java.library.path /Users/eibe/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.:/Users/eibe/wekafiles/native java.runtime.name Java(TM) SE Runtime Environment java.runtime.version 1.8.0_171-b11 java.specification.name Java Platform API Specification java.specification.vendor Oracle Corporation java.specification.version 1.8 java.vendor Oracle Corporation java.vendor.url http://java.oracle.com/ java.vendor.url.bug http://bugreport.sun.com/bugreport/ java.version 1.8.0_171 java.vm.info mixed mode java.vm.name Java HotSpot(TM) 64-Bit Server VM java.vm.specification.name Java Virtual Machine Specification java.vm.specification.vendor Oracle Corporation java.vm.specification.version 1.8 java.vm.vendor Oracle Corporation java.vm.version 25.171-b11 line.separator
memory.initial 512MB (536870912) memory.max 7282MB (7635730432) os.arch x86_64 os.name Mac OS X os.version 10.13.6 path.separator : sun.arch.data.model 64 sun.awt.enableExtraMouseButtons true sun.boot.class.path /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/classes sun.boot.library.path /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib sun.cpu.endian little sun.cpu.isalist
sun.font.fontmanager sun.font.CFontManager sun.io.unicode.encoding UnicodeBig sun.java.command weka.gui.GUIChooser sun.java.launcher SUN_STANDARD sun.jnu.encoding UTF-8 sun.management.compiler HotSpot 64-Bit Tiered Compilers sun.os.patch.level unknown ui.currentLookAndFeel com.apple.laf.AquaLookAndFeel ui.installedLookAndFeels javax.swing.plaf.metal.MetalLookAndFeel,javax.swing.plaf.nimbus.NimbusLookAndFeel,com.sun.java.swing.plaf.motif.MotifLookAndFeel,com.apple.laf.AquaLookAndFeel user.country NZ user.dir /Users/eibe/IdeaProjects/Weka/trunk/weka user.home /Users/eibe user.language en user.name eibe user.timezone Pacific/Auckland weka.version 3.9.4-SNAPSHOT

On 25/09/2018, at 11:48 AM, sarda014 notifications@github.com wrote:

I have installed wekaDeeplearning4j package using the package manager, but I am not able to choose different type of layers for network.

Steps to reproduce -

• Choose Dl4jMlpClassifier • Click on layer specification • Click on 'Choose' to change the type of layer • Nothing happens, and I get the following stacktrace in logs - 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:5449) at org.nd4j.linalg.factory.Nd4j.(Nd4j.java:213) ... 136 more

Weka version: 3.8.2 wekaDeeplearning4j package version: 1.5.6 Operating System: macOS

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

braun-steven commented 6 years ago

Thanks for double-checking Eibe! I can have a look at it next week at the earliest.

@sarda084 is that the only exception that is thrown? Can you copy the whole stacktrace to hastebin.com or something else and post it here? I'm confused about the fact that the ND4J backend "could not be found". This error occurred once in the past but should've been solved.

sarda014 commented 6 years ago

Sure, you can find the entire stacktrace here - https://hastebin.com/juxipefobu.nginx

braun-steven commented 6 years ago

The hotfix will be released with v1.5.7 soon