public byte[] ToSerialized(System.IntPtr model, int cols, int maxClasses, bool compress) { SVMModelRepresentation smr = new SVMModelRepresentation(); smr.cols = cols; smr.maxClasses = maxClasses; smr.means = new double[cols]; smr.sdevs = new double[cols]; getScales(model, smr.means, smr.sdevs); smr.modelString = saveModelString(model); IFormatter formatter = new BinaryFormatter(); MemoryStream memoryStream = new MemoryStream(); if (compress) { using (GZipStream gzipStream = new GZipStream(memoryStream, CompressionMode.Compress)) { formatter.Serialize(gzipStream, smr); gzipStream.Flush(); } } else { formatter.Serialize(memoryStream, smr); } return(memoryStream.ToArray()); }
private byte[] SaveModel(bool compress) { if (!haveModel) { return(null); } return(SVMModelRepresentation.ToSerialized(model, cols, maxClasses, compress)); }
private void LoadModel(byte[] modelBytes, bool compress) { DestroyModel(); model = SVMModelRepresentation.LoadSerialized(modelBytes, out cols, out maxClasses, compress); haveModel = true; }