public override string ToString() { var strValue = $"|Type:{LearnerType} |LRate:{LearningRate.ToString(CultureInfo.InvariantCulture)} " + $"|Momentum:{Momentum.ToString(CultureInfo.InvariantCulture)} |Loss:{LossFunction}" + $"|Eval:{EvaluationFunction}" + $"|L1:{L1Regularizer}" + $"|L2:{L2Regularizer}"; return(strValue); }
public ProcessConfiguration GetConfiguration(PipelineContext context) { var pc = new ProcessConfiguration(); pc["LearningAlgorithm"] = LearningAlgorithm.ToString(); pc["Iterations"] = Iterations.ToString(); pc["Dimensions"] = Dimensions; pc["LearningRate"] = LearningRate.ToString(); pc["TrainFile"] = context.GetAsString("TrainFile"); pc["TestFile"] = context.GetAsString("TestFile"); pc["AdditionalArgs"] = _additionalArgs; return(pc); }
public void SaveNetworkAsXML(string path) { XmlWriterSettings setting = new XmlWriterSettings(); setting.Indent = true; Stream stream; path += ".xml"; stream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write); using (XmlWriter writer = XmlWriter.Create(stream, setting)) { writer.WriteStartDocument(); writer.WriteStartElement("NeuralNetwork"); writer.WriteAttributeString("learningRate", LearningRate.ToString()); writer.WriteAttributeString("name", Name.ToString()); foreach (Layer layer in Layers) { writer.WriteStartElement("Layer"); writer.WriteAttributeString("activationFunction", layer.activationFunction.ToString()); foreach (Neuron neuron in layer.Neurons) { writer.WriteStartElement("Neuron"); writer.WriteAttributeString("bias", neuron.Bias.ToString()); foreach (Dendrite dendrite in neuron.Dendrites) { writer.WriteStartElement("InputDendrite"); writer.WriteAttributeString("weight", dendrite.Weight.ToString()); writer.WriteEndElement(); } writer.WriteEndElement(); } writer.WriteEndElement(); } writer.WriteEndElement(); writer.WriteEndDocument(); } }
public void SaveNetworkToFile(string path) { List <string> tmp = new List <string>(); for (int i = 1; i < Layers.Count; i++) { foreach (Neuron neuron in Layers[i].Neurons) { foreach (Synapse synapse in neuron.Inputs) { tmp.Add(synapse.Weight.ToString(CultureInfo.InvariantCulture)); } } } string build = $"{LearningRate.ToString()} {Functions.Alpha.ToString()} {Synapse.MinInitWeight} {Synapse.MaxInitWeight}"; foreach (Layer layer in Layers) { build += " " + layer.Neurons.Count.ToString(); } tmp.Insert(0, build); File.WriteAllLines(path, tmp); }