The Altair Community is migrating to a new platform to provide a better experience for you. In preparation for the migration, the Altair Community is on read-only mode from October 28 - November 6, 2024. Technical support via cases will continue to work as is. For any urgent requests from Students/Faculty members, please submit the form linked here
Unable to save model in binary mode
Hi,
I am trying to standardize some attributes and then save the resultant model into a file using the binary mode. The process file is as follows:
I am trying to standardize some attributes and then save the resultant model into a file using the binary mode. The process file is as follows:
On running, I got the error 303: Cannot write to file. The details are:
<operator name="Root" class="Process" expanded="yes">
<operator name="CSVExampleSource" class="CSVExampleSource">
<parameter key="filename" value="training.csv"/>
</operator>
<operator name="Standardize" class="Normalization">
<parameter key="create_view" value="true"/>
<parameter key="return_preprocessing_model" value="true"/>
<parameter key="z_transform" value="false"/>
</operator>
<operator name="Save Standardize parameters" class="ModelWriter">
<parameter key="model_file" value="training.mod"/>
<parameter key="output_type" value="Binary"/>
</operator>
</operator>
It seems that the class Tupel is not serializable. Is this a bug?
Exception: com.rapidminer.operator.UserError
Message: Could not write to file 'training.mod': com.rapidminer.tools.Tupel.
Stack trace:
com.rapidminer.operator.io.ModelWriter.apply(ModelWriter.java:159)
com.rapidminer.operator.Operator.apply(Operator.java:664)
com.rapidminer.operator.OperatorChain.apply(OperatorChain.java:377)
com.rapidminer.operator.Operator.apply(Operator.java:664)
com.rapidminer.Process.run(Process.java:614)
com.rapidminer.Process.run(Process.java:584)
com.rapidminer.Process.run(Process.java:574)
com.rapidminer.gui.ProcessThread.run(ProcessThread.java:61)
Cause
Exception: java.io.NotSerializableException
Message: com.rapidminer.tools.Tupel
Stack trace:
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
java.util.HashMap.writeObject(HashMap.java:1001)
sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
com.rapidminer.operator.io.ModelWriter.apply(ModelWriter.java:157)
com.rapidminer.operator.Operator.apply(Operator.java:664)
com.rapidminer.operator.OperatorChain.apply(OperatorChain.java:377)
com.rapidminer.operator.Operator.apply(Operator.java:664)
com.rapidminer.Process.run(Process.java:614)
com.rapidminer.Process.run(Process.java:584)
com.rapidminer.Process.run(Process.java:574)
com.rapidminer.gui.ProcessThread.run(ProcessThread.java:61)
0
Answers
yes, you are right. We will add the Serializable interface in the CVS version.
Thanks for pointing this out,
cheers,
Ingo
I think this problem has reoccurred, at least in the latest 4.4 version. I have checked the CVS version and it seems like the serializable interface has not been added.
Warmest regards
I am sorry - we seemed to overlook this. I have just added this (directly) to the CVS so it is sure that it is part of the next release. If you can't wait: feel free to build RM yourself.
By the way: since I am not a native speaker and got the feeling that "warmest regards" might have some additional meaning I didn't get correclty I googled for it and Google came up with this great blog entry:
http://www.pauldavidson.net/2006/12/19/wfmes-list-of-regards/ This and the other descriptions on that page are really a pleasure to read so I can only recommend this page (at least for non-native speakers).
But are you really mad at us? I don't hope
Cheers and thanks (again!) for pointing this out,
Ingo
And also that warmest regards can be used without hidden meanings. Anyway, the blog was well written and a pleasure to read...
All the best,
Ingo