Parameter persisten in operator ProcessLog

New Altair Community Member
Updated by Jocelyn
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
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
Find more posts tagged with
Sort by:
1 - 5 of
51
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:
Can you reproduce this?
Thank you very much.
Regards,
Tim
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:
This didn't happen in your stable RM version 4.2.
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)
Can you reproduce this?
Thank you very much.
Regards,
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