Parameter persisten in operator ProcessLog

Legacy UserLegacy User Member Posts: 0 Newbie
edited November 2018 in Help
Hi,

I've a question about the ProcessLog parameter "persistent". When I enable
it in sample "07_EvolutionaryParameterOptimization", the logfile
(specified by "filename" parameter) contains at the end just a single entry.
Otherwise, when the parameter is disabled, all intermediate computations
are correctly  logged.

What is the reason for that? I enabled the parameter since I wanted to check
from time to time how far my validation is. But the parameter seems to have
a different meaning.

And do I free some memory when persistent=1? I mean when the results do not
have to be kept but can be immediately written to the logfile, less memory
should be consumed. Is that right?

Regards,
Tim

Answers

  • landland RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 2,531 Unicorn
    Hi Tim,
    thanks for this hint. The persistent parameter should work as you expected. This bug has already been removed in the developer branch but has not been removed in the cvs stable version. I've done this.

    Greetings,
      Sebastian
  • Legacy UserLegacy User Member Posts: 0 Newbie
    Hi Sebastian,

    do I get the recent version with the fixed bug when I check out the recent CVS version with

    cvs -d:pserver: anonymous@yale.cvs.sourceforge.net:/cvsroot/yale login
    cvs -d:pserver: anonymous@yale.cvs.sourceforge.net:/cvsroot/yale co -P yale ?

    Regards,
    Tim

  • TobiasMalbrechtTobiasMalbrecht Moderator, Employee, Member Posts: 294 RM Product Management
    Hi Tim,

    yes, this should check out the HEAD revision of the module, i.e. the stable version (4.2) of RM. If you like, you can alternatively check out the branch Zaniah which contains our current development version.

    Regards,
    Tobias
  • Legacy UserLegacy User Member Posts: 0 Newbie
    Hi Tobias,

    I've now updated to Zaniah to check the fix in the persistent
    parameter. When I now run the sample
    07_Meta/07_EvolutionaryParameterOptimization.xml
    I get the error message:

    P Nov 4, 2008 5:10:11 PM: Initialising process setup
    P Nov 4, 2008 5:10:12 PM: [NOTE] No filename given for result file, using stdout for
    logging results!
    P Nov 4, 2008 5:10:12 PM: Checking properties...
    P Nov 4, 2008 5:10:12 PM: Properties are ok.
    P Nov 4, 2008 5:10:12 PM: Checking process setup...
    P Nov 4, 2008 5:10:12 PM: Inner operators are ok.
    P Nov 4, 2008 5:10:12 PM: Checking i/o classes...
    P Nov 4, 2008 5:10:12 PM: i/o classes are ok. Process output: ParameterSet,
    PerformanceVector.
    P Nov 4, 2008 5:10:12 PM: Process ok.
    P Nov 4, 2008 5:10:12 PM: Process initialised
    P Nov 4, 2008 5:10:12 PM: [NOTE] Process starts
    P Nov 4, 2008 5:10:12 PM: Process:
      Root[0] (Process)
      +- ExampleSource[0] (ExampleSource)
      +- ParameterOptimization[0] (EvolutionaryParameterOptimization)
         +- IteratingPerformanceAverage[0] (IteratingPerformanceAverage)
         |  +- Validation[0] (XValidation)
         |     +- LibSVMLearner[0] (LibSVMLearner)
         |     +- ApplierChain[0] (OperatorChain)
         |        +- Test[0] (ModelApplier)
         |        +- Performance[0] (Performance)
         +- Log[0] (ProcessLog)
    P Nov 4, 2008 5:10:13 PM: [Fatal] NullPointerException occured in 2nd application of
    Log (ProcessLog)
    P Nov 4, 2008 5:10:13 PM: [Fatal] Process failed: null
             Root[1] (Process)
             +- ExampleSource[1] (ExampleSource)
             +- ParameterOptimization[1] (EvolutionaryParameterOptimization)
                +- IteratingPerformanceAverage[1] (IteratingPerformanceAverage)
                |  +- Validation[0] (XValidation)
                |     +- LibSVMLearner[0] (LibSVMLearner)
                |     +- ApplierChain[0] (OperatorChain)
                |        +- Test[0] (ModelApplier)
                |        +- Performance[0] (Performance)
    here ==>    +- Log[1] (ProcessLog)
    java.lang.NullPointerException
       at
    com.rapidminer.operator.visualization.ProcessLogOperator.fetchAllValues(ProcessLogOperator.java:217)
       at
    com.rapidminer.operator.visualization.ProcessLogOperator.apply(ProcessLogOperator.java:184)
       at com.rapidminer.operator.Operator.apply(Operator.java:664)
       at
    com.rapidminer.operator.meta.ParameterOptimizationOperator.getPerformance(ParameterOptimizationOperator.java:65)
       at
    com.rapidminer.operator.meta.EvolutionaryParameterOptimizationOperator.setParametersAndEvaluate(EvolutionaryParameterOptimizationOperator.java:277)
       at
    com.rapidminer.operator.meta.ESParameterOptimization.evaluateIndividual(ESParameterOptimization.java:60)
       at
    com.rapidminer.tools.math.optimization.ec.es.ESOptimization.evaluate(ESOptimization.java:386)
       at
    com.rapidminer.tools.math.optimization.ec.es.ESOptimization.optimize(ESOptimization.java:328)
       at
    com.rapidminer.operator.meta.EvolutionaryParameterOptimizationOperator.apply(EvolutionaryParameterOptimizationOperator.java:201)
       at com.rapidminer.operator.Operator.apply(Operator.java:664)
       at com.rapidminer.operator.OperatorChain.apply(OperatorChain.java:377)
       at com.rapidminer.operator.Operator.apply(Operator.java:664)
       at com.rapidminer.Process.run(Process.java:612)
       at com.rapidminer.Process.run(Process.java:582)
       at com.rapidminer.Process.run(Process.java:572)
       at com.rapidminer.gui.ProcessThread.run(ProcessThread.java:61)
    This didn't happen in your stable RM version 4.2.

    Can you reproduce this?

    Thank you very much.

    Regards,
    Tim
  • IngoRMIngoRM Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert, Community Manager, RMResearcher, Member, University Professor Posts: 1,751 RM Founder
    Hi Tim,

    all issues with this process should now be settled in the latest updates.

    Cheers,
    Ingo
Sign In or Register to comment.