public override void Save(BinaryWriter writer) { if (lenetWrap.IsEmpty) { BinIO.string_write(writer, "<null/>"); return; } double[] dbuffer; int size; // receive buffer from wrapped lenet lenetWrap.SaveNetworkToBuffer(out size, out dbuffer); lenetparam.Resize(size); for (int i = 0; i < size; i++) { lenetparam.UnsafePut1d(i, dbuffer[i]); } BinIO.string_write(writer, "<object>"); //BinIO.string_write(writer, comp.Name); // write lenet arguments BinIO.scalar_write(writer, lenetWrap.Classes.Length); for (int i = 0; i < lenetWrap.Classes.Length; i++) { BinIO.scalar_write(writer, lenetWrap.Classes[i]); } BinIO.scalar_write(writer, Convert.ToByte(lenetWrap.TanhSigmoid)); BinIO.scalar_write(writer, Convert.ToByte(lenetWrap.NetNorm)); BinIO.scalar_write(writer, Convert.ToByte(lenetWrap.AsciiTarget)); // save Narray to stream BinIO.narray_write(writer, lenetparam); BinIO.string_write(writer, "</object>"); }