Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem deserializing the XGBoostModel #337

Closed
nmicra opened this issue Apr 27, 2023 · 1 comment
Closed

Problem deserializing the XGBoostModel #337

nmicra opened this issue Apr 27, 2023 · 1 comment
Labels
question General question

Comments

@nmicra
Copy link

nmicra commented Apr 27, 2023

I've successfully serialized the XGBoostModel using the Jackson ObjectMapper, but when I've tried to deserialize it got the below exception.

** Any recommendations ?**

Exception when deserializing the org.tribuo.common.xgboost.XGBoostModel

com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `org.tribuo.common.xgboost.XGBoostModel` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)
 at [Source: (StringReader); line: 1, column: 2]
	at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:67) ~[jackson-databind-2.13.4.jar:2.13.4]
	Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 
Error has been observed at the following site(s):
	*__checkpoint ⇢ Handler com.github.nmicra.marketresearch.controller.PredictController#predictWithModelTimeSeriesForLabel(String, String, int, Continuation) [DispatcherHandler]
	*__checkpoint ⇢ HTTP POST "/predict/timeSeries/withModel/ARKK/daily/10" [ExceptionHandlingWebHandler]
Original Stack Trace:
		at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:67) ~[jackson-databind-2.13.4.jar:2.13.4]
		at com.fasterxml.jackson.databind.DeserializationContext.reportBadDefinition(DeserializationContext.java:1904) ~[jackson-databind-2.13.4.jar:2.13.4]
		at com.fasterxml.jackson.databind.DatabindContext.reportBadDefinition(DatabindContext.java:400) ~[jackson-databind-2.13.4.jar:2.13.4]
		at com.fasterxml.jackson.databind.DeserializationContext.handleMissingInstantiator(DeserializationContext.java:1349) ~[jackson-databind-2.13.4.jar:2.13.4]
		at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1415) ~[jackson-databind-2.13.4.jar:2.13.4]
		at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:352) ~[jackson-databind-2.13.4.jar:2.13.4]
		at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:185) ~[jackson-databind-2.13.4.jar:2.13.4]
		at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323) ~[jackson-databind-2.13.4.jar:2.13.4]
		at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4674) ~[jackson-databind-2.13.4.jar:2.13.4]
		at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3629) ~[jackson-databind-2.13.4.jar:2.13.4]
		at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3612) ~[jackson-databind-2.13.4.jar:2.13.4]
@nmicra nmicra added the question General question label Apr 27, 2023
@Craigacp
Copy link
Member

Tribuo doesn't support serializing models to JSON. The serialization options in v4.3 are java.io.Serializable and protobuf. You could convert either of them into a byte array and base64 encode that if you want something which can travel safety in a JSON object, but it might be quite a large string.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question General question
Projects
None yet
Development

No branches or pull requests

2 participants