Parameter persisten in operator ProcessLog

Legacy UserLegacy User MemberPosts:0Newbie
edited November 2018 inHelp
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, MemberPosts:2531年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 MemberPosts:0Newbie
    Hi Sebastian,

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

    cvs -d:pserver:[email protected]:/cvsroot/yale login
    cvs -d:pserver:[email protected]:/cvsroot/yale co -P yale ?

    Regards,
    Tim

  • TobiasMalbrechtTobiasMalbrecht Moderator, Employee, MemberPosts:294RM 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 MemberPosts:0Newbie
    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](经营管理orChain)
    | +- 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](经营管理orChain)
    | +- 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 ProfessorPosts:1,751RM Founder
    Hi Tim,

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

    Cheers,
    Ingo
Sign InorRegisterto comment.