openml / openml-weka

The OpenmlWeka package
4 stars 3 forks source link

OpenML Weka package to crash if multisearch is not installed #20

Open janvanrijn opened 5 years ago

janvanrijn commented 5 years ago
Running experiment: Runs from: 1 to: 10
Datasets:
Custom property iterator: on
Custom property path:
1  org.openml.weka.experiment.TaskResultProducer::splitEvaluator ClassifierSplitEvaluator: weka.classifiers.rules.ZeroR (version 48055541465867954)
Custom property name:classifier
Custom property values:
 1 weka.classifiers.meta.FilteredClassifier FilteredClassifier: No model built yet.
ResultProducer: CrossValidationResultProducer: -X 10 -W org.openml.weka.experiment.OpenmlClassificationSplitEvaluator --: <null Instances>
ResultListener: org.openml.weka.experiment.TaskResultListener@78b68a8f

Writing experiment copy
Reading experiment copy
Made experiment copy
CrossValidationResultProducer: setting additional measures for split evaluator
[09-03-2019 17:23:37] [OK] [Cache] Stored to cache: datasets/12167/description.xml
[09-03-2019 17:23:37] [OK] [Remove Attribte] Removing attribute identifier (1-based index: 0)
class org.openml.weka.experiment.OpenmlClassificationSplitEvaluator
Done...
Exception in thread "Thread-2" java.lang.NoClassDefFoundError: weka/core/setupgenerator/AbstractParameter
    org.openml.weka.algorithm.WekaAlgorithm.serializeClassifier(WekaAlgorithm.java:270)
    org.openml.weka.algorithm.WekaAlgorithm.getSetupId(WekaAlgorithm.java:164)
    org.openml.weka.experiment.TaskBasedExperiment.nextIteration(TaskBasedExperiment.java:167)
    weka.gui.experiment.RunPanel$ExperimentRunner.run(RunPanel.java:180)

    at org.openml.weka.algorithm.WekaAlgorithm.serializeClassifier(WekaAlgorithm.java:270)
    at org.openml.weka.algorithm.WekaAlgorithm.getSetupId(WekaAlgorithm.java:164)
    at org.openml.weka.experiment.TaskBasedExperiment.nextIteration(TaskBasedExperiment.java:167)
    at weka.gui.experiment.RunPanel$ExperimentRunner.run(RunPanel.java:180)
Caused by: java.lang.ClassNotFoundException: [weka.core.WekaPackageLibIsolatingClassLoader (OpenmlWeka)] Unable to find class: weka.core.setupgenerator.AbstractParameter
    at weka.core.WekaPackageLibIsolatingClassLoader.findClass(WekaPackageLibIsolatingClassLoader.java:509)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
janvanrijn commented 5 years ago

Tried to add the dependency to the descripton.props, but it resulted in an error. description props:

# Dependencies (format: packageName (equality/inequality version_number)
Depends=weka (>= 3.9.0), multisearch (>= 2018.9.2)

error:

java.io.FileNotFoundException: /home/janvanrijn/wekafiles/repCache/multisearch/2018.9.2.props (No such file or directory)
    java.base/java.io.FileInputStream.open0(Native Method)
    java.base/java.io.FileInputStream.open(FileInputStream.java:220)
    java.base/java.io.FileInputStream.<init>(FileInputStream.java:158)
    java.base/java.io.FileInputStream.<init>(FileInputStream.java:113)
    java.base/sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:86)
    java.base/sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:184)
    weka.core.packageManagement.DefaultPackageManager.getRepositoryPackageInfo(DefaultPackageManager.java:332)
    weka.core.packageManagement.DefaultPackage.getDependencies(DefaultPackage.java:265)
    weka.core.WekaPackageLibIsolatingClassLoader.init(WekaPackageLibIsolatingClassLoader.java:147)
    weka.core.WekaPackageLibIsolatingClassLoader.<init>(WekaPackageLibIsolatingClassLoader.java:126)
    weka.core.WekaPackageClassLoaderManager.addPackageToClassLoader(WekaPackageClassLoaderManager.java:369)
    weka.core.WekaPackageManager.loadPackages(WekaPackageManager.java:1274)
    weka.core.WekaPackageManager.loadPackages(WekaPackageManager.java:1206)
    weka.gui.GenericObjectEditor.determineClasses(GenericObjectEditor.java:172)
    weka.gui.GenericObjectEditor.<clinit>(GenericObjectEditor.java:242)
    weka.gui.GUIChooserApp.<init>(GUIChooserApp.java:662)
    weka.gui.GUIChooserApp.createSingleton(GUIChooserApp.java:176)
    weka.gui.GUIChooserApp.main(GUIChooserApp.java:1676)
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.base/java.lang.reflect.Method.invoke(Method.java:564)
    weka.gui.SplashWindow.invokeMain(SplashWindow.java:306)
    weka.gui.GUIChooser.main(GUIChooser.java:92)

    at java.base/java.io.FileInputStream.open0(Native Method)
    at java.base/java.io.FileInputStream.open(FileInputStream.java:220)
    at java.base/java.io.FileInputStream.<init>(FileInputStream.java:158)
    at java.base/java.io.FileInputStream.<init>(FileInputStream.java:113)
    at java.base/sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:86)
    at java.base/sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:184)
    at weka.core.packageManagement.DefaultPackageManager.getRepositoryPackageInfo(DefaultPackageManager.java:332)
    at weka.core.packageManagement.DefaultPackage.getDependencies(DefaultPackage.java:265)
    at weka.core.WekaPackageLibIsolatingClassLoader.init(WekaPackageLibIsolatingClassLoader.java:147)
    at weka.core.WekaPackageLibIsolatingClassLoader.<init>(WekaPackageLibIsolatingClassLoader.java:126)
    at weka.core.WekaPackageClassLoaderManager.addPackageToClassLoader(WekaPackageClassLoaderManager.java:369)
    at weka.core.WekaPackageManager.loadPackages(WekaPackageManager.java:1274)
    at weka.core.WekaPackageManager.loadPackages(WekaPackageManager.java:1206)
    at weka.gui.GenericObjectEditor.determineClasses(GenericObjectEditor.java:172)
    at weka.gui.GenericObjectEditor.<clinit>(GenericObjectEditor.java:242)
    at weka.gui.GUIChooserApp.<init>(GUIChooserApp.java:662)
    at weka.gui.GUIChooserApp.createSingleton(GUIChooserApp.java:176)
    at weka.gui.GUIChooserApp.main(GUIChooserApp.java:1676)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at weka.gui.SplashWindow.invokeMain(SplashWindow.java:306)
    at weka.gui.GUIChooser.main(GUIChooser.java:92)

Emailed to Eibe, Mark and Peter. Now we wait.