/** @copydoc LayerParameterBase::Load */ public override object Load(System.IO.BinaryReader br, bool bNewInstance = true) { RawProto proto = RawProto.Parse(br.ReadString()); DataNormalizerParameter p = FromProto(proto); if (!bNewInstance) { Copy(p); } return(p); }
/// <summary> /// Parses the parameter from a RawProto. /// </summary> /// <param name="rp">Specifies the RawProto to parse.</param> /// <param name="p">Optionally, specifies an instance to load. If <i>null</i>, a new instance is created and loaded.</param> /// <returns>A new instance of the parameter is returned.</returns> public static DataNormalizerParameter FromProto(RawProto rp, DataNormalizerParameter p = null) { string strVal; if (p == null) { p = new DataNormalizerParameter(); } List <string> rgstrStep = rp.FindArray <string>("step"); p.steps = new List <NORMALIZATION_STEP>(); foreach (string strStep in rgstrStep) { p.steps.Add(convertStep(strStep)); } if ((strVal = rp.FindValue("across_data_and_label")) != null) { p.across_data_and_label = bool.Parse(strVal); } p.ignore_channels = rp.FindArray <int>("ignore_ch"); if ((strVal = rp.FindValue("input_min")) != null) { p.input_min = ParseDouble(strVal); } if ((strVal = rp.FindValue("input_max")) != null) { p.input_max = ParseDouble(strVal); } if ((strVal = rp.FindValue("output_min")) != null) { p.output_min = ParseDouble(strVal); } if ((strVal = rp.FindValue("output_max")) != null) { p.output_max = ParseDouble(strVal); } if ((strVal = rp.FindValue("input_mean")) != null) { p.input_mean = ParseDouble(strVal); } else { p.input_mean = null; } if ((strVal = rp.FindValue("input_stdev")) != null) { p.input_stdev = ParseDouble(strVal); } else { p.input_stdev = null; } if ((strVal = rp.FindValue("label_data_channel")) != null) { p.label_data_channel = int.Parse(strVal); } else { p.label_data_channel = null; } return(p); }
/** @copydoc LayerParameterBase::Copy */ public override void Copy(LayerParameterBase src) { DataNormalizerParameter p = (DataNormalizerParameter)src; }