Hi guys,
I'm using the LogisticModelParameters.saveTo(file) and
LogisticModelParameters.loadFrom(file) methods to save and load an SGD
model.
But I'm unable to load the model because after calling loadFrom I get the
following error:
Failed parsing JSON source: java.io.FileReader@12d03f9 to Json
[.]
Caused by: com.google.gson.ParseException: Encountered "\"beta\"" at line 6,
column 45.
Looking at the content of the model, I noticed that there are missing
colons, for examples:
"lr":{"mu0":1.0,"decayFactor":0.999,"stepOffset":
10,"forgettingExponent":-0.5,"perTermAnnealingOffset":20,"step":189,
"lambda":1.0,"sealed":true,"gradient":{}"beta"
There is a missing colon between gradient and beta.
But if I correct all the missing colons, I still get the following error:
Exception in thread "main" java.lang.RuntimeException: No-args constructor
for interface org.apache.mahout.math.Vector does not exist. Register an
InstanceCreator with Gson for this type to fix this problem.
at
com.google.gson.MappedObjectConstructor.constructWithNoArgConstructor(Mapped
ObjectConstructor.java:64)
at
com.google.gson.MappedObjectConstructor.construct(MappedObjectConstructor.ja
va:53)
at
com.google.gson.JsonObjectDeserializationVisitor.constructTarget(JsonObjectD
eserializationVisitor.java:41)
at
com.google.gson.JsonDeserializationVisitor.getTarget(JsonDeserializationVisi
tor.java:54)
at
com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:98)
at
com.google.gson.JsonDeserializationVisitor.visitChild(JsonDeserializationVis
itor.java:87)
at
com.google.gson.JsonDeserializationVisitor.visitChildAsObject(JsonDeserializ
ationVisitor.java:75)
at
com.google.gson.JsonObjectDeserializationVisitor.visitObjectField(JsonObject
DeserializationVisitor.java:62)
at
com.google.gson.ObjectNavigator.navigateClassFields(ObjectNavigator.java:147
)
at
com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:122)
at
com.google.gson.JsonDeserializationVisitor.visitChild(JsonDeserializationVis
itor.java:87)
at
com.google.gson.JsonDeserializationVisitor.visitChildAsObject(JsonDeserializ
ationVisitor.java:75)
at
com.google.gson.JsonObjectDeserializationVisitor.visitObjectField(JsonObject
DeserializationVisitor.java:62)
at
com.google.gson.ObjectNavigator.navigateClassFields(ObjectNavigator.java:147
)
at
com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:122)
at
com.google.gson.JsonDeserializationContextDefault.fromJsonObject(JsonDeseria
lizationContextDefault.java:73)
at
com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializ
ationContextDefault.java:49)
at com.google.gson.Gson.fromJson(Gson.java:379)
at com.google.gson.Gson.fromJson(Gson.java:352)
at
org.apache.mahout.classifier.sgd.LogisticModelParameters.loadFrom(LogisticMo
delParameters.java:141)
at
org.apache.mahout.classifier.sgd.LogisticModelParameters.loadFrom(LogisticMo
delParameters.java:154)
What do you think can be the problem?
Thanks
Claudia