[SOLVED] RM 5.3: Batch process fails while GUI not

frasfras Member Posts: 93 Contributor II
edited November 2018 in Help
Hi!

I know it sounds strange but my process executes successfully in a RM GUI-Session but it fails with the following in Batch-Mode:

[fras-desktop] ~ > /space/mfspace/targeting/dm/fras/rapidminer/scripts/rapidminer //Schulung/104_optByX-ValRAPIDMINER_HOME is not set. Trying the directory '/space/mfspace/targeting/dm/fras/rapidminer'...
No maximum Java memory defined, using 1024 Mb...
Java version: 16
Number of cores: 2
Number of GC Threads: 1
Starting RapidMiner from '/space/mfspace/targeting/dm/fras/rapidminer', using classes from '/space/mfspace/targeting/dm/fras/rapidminer/lib/rapidminer.jar'...
Java version: 16
Starting with CMS garbage collector
Starting in multi-core mode
RapidMiner version 5.3.005, Copyright (C) 2001-2012
RapidMiner comes with ABSOLUTELY NO WARRANTY; This is free software,
and you are welcome to redistribute it under certain conditions;
see license information in the file named LICENSE.
07.02.2013 16:31:28 com.rapid_i.Launcher ensureRapidMinerHomeSet
INFO: rapidminer.home is '/space/mfspace/targeting/dm/fras/rapidminer'.
07.02.2013 16:31:28 com.rapidminer.tools.ParameterService init
INFO: Reading configuration resource com/rapidminer/resources/rapidminerrc.
07.02.2013 16:31:28 com.rapidminer.tools.I18N <clinit>
INFO: Set locale to en.
07.02.2013 16:31:29 com.rapid_i.Launcher ensureRapidMinerHomeSet
INFO: rapidminer.home is '/space/mfspace/targeting/dm/fras/rapidminer'.
07.02.2013 16:31:29 com.rapidminer.tools.plugin.Plugin registerPlugins
INFO: Register plugin: Text Processing
07.02.2013 16:31:29 com.rapidminer.tools.plugin.Plugin registerPlugins
INFO: Register plugin: Weka
07.02.2013 16:31:30 com.rapidminer.parameter.ParameterTypePassword decryptPassword
WARNING: Password in XML file looks like unencrypted plain text.
07.02.2013 16:31:32 com.rapidminer.tools.OperatorService init
INFO: Number of registered operator classes: 501; number of registered operator descriptions: 626; number of replacements: 436
07.02.2013 16:31:32 com.rapidminer.tools.jdbc.JDBCProperties <init>
WARNING: Missing database driver class name for ODBC Bridge (e.g. Access)
07.02.2013 16:31:32 com.rapidminer.tools.jdbc.JDBCProperties registerDrivers
INFO: JDBC driver ca.ingres.jdbc.IngresDriver not found. Probably the driver is not installed.
07.02.2013 16:31:32 com.rapidminer.tools.jdbc.JDBCProperties registerDrivers
INFO: JDBC driver oracle.jdbc.driver.OracleDriver not found. Probably the driver is not installed.
[Fatal Error] :1:1: Premature end of file.
07.02.2013 16:31:33 com.rapidminer.tools.WrapperLoggingHandler log
INFO: No filename given for result file, using stdout for logging results!
07.02.2013 16:31:33 com.rapidminer.Process run
INFO: Process //Schulung/104_optByX-Val starts
07.02.2013 16:31:45 com.rapidminer.Process run
INFO: Process //Schulung/104_optByX-Val finished successfully after 12 s
07.02.2013 16:31:45 com.rapidminer.Process resolveFileName
WARNING: Process not attached to a file. Resolving against user directory: '/home/fras/paraopt.log'.
07.02.2013 16:31:45 com.rapidminer.RapidMinerCommandLine run
INFO: Process finished successfully
07.02.2013 16:31:45 com.rapidminer.RapidMinerCommandLine run
SEVERE: Process failed: operator cannot be executed. Check the log messages...
java.lang.NullPointerException
at com.rapidminer.RapidMiner.quit(RapidMiner.java:819)
at com.rapidminer.RapidMinerCommandLine.run(RapidMinerCommandLine.java:163)
at com.rapidminer.RapidMinerCommandLine.main(RapidMinerCommandLine.java:196)
07.02.2013 16:31:45 com.rapidminer.RapidMinerCommandLine run
SEVERE: Here:           Root[1] (Process)
          subprocess 'Main Process'
            +- Read ARFF (2)[1] (Read ARFF)
            +- Set Role (2)[1] (Set Role)
            +- ParameterOptimization[1] (Optimize Parameters (Grid))
          subprocess 'Optimization Process'
                  +- Validation[10] (X-Validation)
          subprocess 'Training'
                  |  |  +- W-Logistic[30] (W-Logistic)
          subprocess 'Testing'
                  |     +- Test[30] (Apply Model)
                  |     +- Performance[30] (Performance (Binominal Classification))
      ==>         +- Log[10] (Log)
07.02.2013 16:31:45 com.rapidminer.RapidMinerCommandLine run
SEVERE: Process not successful
I try this process:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="5.3.005">
 <context>
   <input/>
   <output/>
   <macros/>
 </context>
 <operator activated="true" class="process" compatibility="5.3.005" expanded="true" name="Root">
   <description>&lt;p&gt; Often the different operators have many parameters and it is not clear which parameter values are best for the learning task at hand. The parameter optimization operator helps to find an optimal parameter set for the used operators. &lt;/p&gt;  &lt;p&gt; The inner crossvalidation estimates the performance for each parameter set. In this process two parameters of the SVM are tuned. The result can be plotted in 3D (using gnuplot) or in color mode. &lt;/p&gt;  &lt;p&gt; Try the following: &lt;ul&gt; &lt;li&gt;Start the process. The result is the best parameter set and the performance which was achieved with this parameter set.&lt;/li&gt; &lt;li&gt;Edit the parameter list of the ParameterOptimization operator to find another parameter set.&lt;/li&gt; &lt;/ul&gt; &lt;/p&gt; </description>
   <process expanded="true">
     <operator activated="true" class="read_arff" compatibility="5.3.005" expanded="true" height="60" name="Read ARFF (2)" width="90" x="45" y="255">
       <parameter key="data_file" value="/home/fras/trainset.arff"/>
       <parameter key="read_not_matching_values_as_missings" value="false"/>
       <list key="data_set_meta_data_information"/>
     </operator>
     <operator activated="true" class="set_role" compatibility="5.3.005" expanded="true" height="76" name="Set Role (2)" width="90" x="112" y="30">
       <parameter key="name" value="POL_TARGET"/>
       <parameter key="target_role" value="label"/>
       <list key="set_additional_roles"/>
     </operator>
     <operator activated="true" class="optimize_parameters_grid" compatibility="5.3.005" expanded="true" height="94" name="ParameterOptimization" width="90" x="313" y="30">
       <list key="parameters">
         <parameter key="W-Logistic.R" value="[.01;.1;9;linear]"/>
       </list>
       <process expanded="true">
         <operator activated="true" class="x_validation" compatibility="5.3.005" expanded="true" height="112" name="Validation" width="90" x="179" y="120">
           <parameter key="number_of_validations" value="3"/>
           <process expanded="true">
             <operator activated="true" class="weka:W-Logistic" compatibility="5.1.001" expanded="true" height="76" name="W-Logistic" width="90" x="45" y="390">
               <parameter key="R" value="0.1"/>
             </operator>
             <connect from_port="training" to_op="W-Logistic" to_port="training set"/>
             <connect from_op="W-Logistic" from_port="model" to_port="model"/>
             <portSpacing port="source_training" spacing="0"/>
             <portSpacing port="sink_model" spacing="0"/>
             <portSpacing port="sink_through 1" spacing="0"/>
           </process>
           <process expanded="true">
             <operator activated="true" class="apply_model" compatibility="5.3.005" expanded="true" height="76" name="Test" width="90" x="45" y="30">
               <list key="application_parameters"/>
             </operator>
             <operator activated="true" class="performance_binominal_classification" compatibility="5.3.005" expanded="true" height="76" name="Performance" width="90" x="112" y="255">
               <parameter key="classification_error" value="true"/>
               <parameter key="AUC (pessimistic)" value="true"/>
             </operator>
             <connect from_port="model" to_op="Test" to_port="model"/>
             <connect from_port="test set" to_op="Test" to_port="unlabelled data"/>
             <connect from_op="Test" from_port="labelled data" to_op="Performance" to_port="labelled data"/>
             <connect from_op="Performance" from_port="performance" to_port="averagable 1"/>
             <portSpacing port="source_model" spacing="0"/>
             <portSpacing port="source_test set" spacing="0"/>
             <portSpacing port="source_through 1" spacing="0"/>
             <portSpacing port="sink_averagable 1" spacing="0"/>
             <portSpacing port="sink_averagable 2" spacing="0"/>
           </process>
         </operator>
         <operator activated="true" class="log" compatibility="5.3.005" expanded="true" height="76" name="Log" width="90" x="313" y="30">
           <parameter key="filename" value="paraopt.log"/>
           <list key="log">
             <parameter key="error" value="operator.Performance.value.classification_error"/>
             <parameter key="roc" value="operator.Performance.value.AUC (pessimistic)"/>
           </list>
         </operator>
         <connect from_port="input 1" to_op="Validation" to_port="training"/>
         <connect from_op="Validation" from_port="averagable 1" to_op="Log" to_port="through 1"/>
         <connect from_op="Log" from_port="through 1" to_port="performance"/>
         <portSpacing port="source_input 1" spacing="0"/>
         <portSpacing port="source_input 2" spacing="0"/>
         <portSpacing port="sink_performance" spacing="0"/>
         <portSpacing port="sink_result 1" spacing="0"/>
       </process>
     </operator>
     <connect from_op="Read ARFF (2)" from_port="output" to_op="Set Role (2)" to_port="example set input"/>
     <connect from_op="Set Role (2)" from_port="example set output" to_op="ParameterOptimization" to_port="input 1"/>
     <connect from_op="ParameterOptimization" from_port="performance" to_port="result 1"/>
     <portSpacing port="source_input 1" spacing="0"/>
     <portSpacing port="sink_result 1" spacing="0"/>
     <portSpacing port="sink_result 2" spacing="0"/>
   </process>
 </operator>
</process>
Data available at

https://www.dropbox.com/s/j1sfpct6wiwj8sv/trainset.arff


Any hints welcome !
-Frank

Answers

  • Nils_WoehlerNils_Woehler Member Posts: 463 Maven
    Hi,

    in the next line of code RapidMiner is going to shutdown, so your process should have finished before.
    Don't trust the log in this case. I've fixed the NPE nevertheless ;)

    Thanks for reporting,
    Nils
  • mertomerto Member Posts: 8 Contributor II
    I have the same problem. Is maybe any solution to this one?

  • Marco_BoeckMarco_Boeck Administrator, Moderator, Employee, Member, University Professor Posts: 1,993 RM Engineering
    Hi,

    the error was no problem. It also should have been fixed in the latest release, so please update RapidMiner if you have not yet done so.

    Regards,
    Marco
Sign In or Register to comment.