pub fn load_model_from_reader(
reader: impl BufRead,
) -> Result<SvmModel, SvmError>Expand description
Load an SVM model from any buffered reader.
Uses LoadOptions::default. See load_model for the validation
contract and non-goals. This is the reader-backed equivalent of LIBSVM’s
svm_load_model.
use libsvm_rs::io::{load_model_from_reader, save_model_to_writer};
use libsvm_rs::train::svm_train;
use libsvm_rs::{KernelType, SvmNode, SvmParameterBuilder, SvmProblem, SvmType};
let problem = SvmProblem {
labels: vec![-1.0, -1.0, 1.0, 1.0],
instances: vec![
vec![SvmNode { index: 1, value: -2.0 }],
vec![SvmNode { index: 1, value: -1.0 }],
vec![SvmNode { index: 1, value: 1.0 }],
vec![SvmNode { index: 1, value: 2.0 }],
],
};
let param = SvmParameterBuilder::new()
.svm_type(SvmType::CSvc)
.kernel_type(KernelType::Linear)
.build()?;
let model = svm_train(&problem, ¶m);
let mut bytes = Vec::new();
save_model_to_writer(&mut bytes, &model)?;
let loaded = load_model_from_reader(std::io::Cursor::new(bytes))?;
assert_eq!(loaded.sv.len(), model.sv.len());