Parameter persisten in operator ProcessLog
Legacy User
New Altair Community Member
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
Tagged:
0
Answers
-
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
0 -
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
0 -
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,
Tobias0 -
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:
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,
Tim0 -
Hi Tim,
all issues with this process should now be settled in the latest updates.
Cheers,
Ingo0