pub trait ModelSerializer {
// Required methods
fn save<P: AsRef<Path>>(
&self,
model: &SerializableModel,
path: P,
) -> Result<()>;
fn load<P: AsRef<Path>>(&self, path: P) -> Result<Box<dyn ModelServing>>;
fn serialize(&self, model: &SerializableModel) -> Result<Vec<u8>>;
fn deserialize(&self, data: &[u8]) -> Result<SerializableModel>;
fn format(&self) -> SerializationFormat;
}Expand description
Model serialization trait
Required Methods§
Sourcefn save<P: AsRef<Path>>(&self, model: &SerializableModel, path: P) -> Result<()>
fn save<P: AsRef<Path>>(&self, model: &SerializableModel, path: P) -> Result<()>
Save a model to file
Sourcefn load<P: AsRef<Path>>(&self, path: P) -> Result<Box<dyn ModelServing>>
fn load<P: AsRef<Path>>(&self, path: P) -> Result<Box<dyn ModelServing>>
Load a model from file
Sourcefn deserialize(&self, data: &[u8]) -> Result<SerializableModel>
fn deserialize(&self, data: &[u8]) -> Result<SerializableModel>
Deserialize model from bytes
Sourcefn format(&self) -> SerializationFormat
fn format(&self) -> SerializationFormat
Get supported format
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.