public String MappingToString(NeuralDataMapping mapping) { var result = new StringBuilder(); result.Append(BipolalToString((BiPolarMLData)mapping.From)); result.Append(" -> "); result.Append(BipolalToString((BiPolarMLData)mapping.To)); return(result.ToString()); }
public void RunBAM(BAMNetwork network, NeuralDataMapping data) { var line = new StringBuilder(); line.Append(MappingToString(data)); network.Compute(data); line.Append(" | "); line.Append(MappingToString(data)); app.WriteLine(line.ToString()); }
/// <summary> /// Compute the network for the specified input. /// </summary> /// <param name="input">The input to the network.</param> /// <returns>The output from the network.</returns> public NeuralDataMapping Compute(NeuralDataMapping input) { bool stable1 = true, stable2 = true; do { stable1 = PropagateLayer(this.synapseF1ToF2, input.From, input.To); stable2 = PropagateLayer(this.synapseF2ToF1, input.To, input.From); } while (!stable1 && !stable2); return(null); }
/// <summary> /// Compute the network for the specified input. /// </summary> /// /// <param name="input">The input to the network.</param> /// <returns>The output from the network.</returns> public NeuralDataMapping Compute(NeuralDataMapping input) { bool stable1; bool stable2; do { stable1 = PropagateLayer(_weightsF1ToF2, input.From, input.To); stable2 = PropagateLayer(_weightsF2ToF1, input.To, input.From); } while (!stable1 && !stable2); return(null); }
public void Execute(IExampleInterface app) { this.app = app; var pattern = new BAMPattern(); pattern.F1Neurons = INPUT_NEURONS; pattern.F2Neurons = OUTPUT_NEURONS; var network = (BAMNetwork)pattern.Generate(); // train for (int i = 0; i < NAMES.Length; i++) { network.AddPattern( StringToBipolar(NAMES[i]), StringToBipolar(PHONES[i])); } // test for (int i = 0; i < NAMES.Length; i++) { var data = new NeuralDataMapping( StringToBipolar(NAMES[i]), RandomBiPolar(OUT_CHARS * BITS_PER_CHAR)); RunBAM(network, data); } app.WriteLine(); for (int i = 0; i < PHONES.Length; i++) { var data = new NeuralDataMapping( StringToBipolar(PHONES[i]), RandomBiPolar(IN_CHARS * BITS_PER_CHAR)); RunBAM(network, data); } app.WriteLine(); for (int i = 0; i < NAMES.Length; i++) { var data = new NeuralDataMapping( StringToBipolar(NAMES2[i]), RandomBiPolar(OUT_CHARS * BITS_PER_CHAR)); RunBAM(network, data); } }
/// <summary> /// Compute the network for the specified input. /// </summary> /// <param name="input">The input to the network.</param> /// <returns>The output from the network.</returns> public NeuralDataMapping Compute(NeuralDataMapping input) { bool stable1 = true, stable2 = true; do { stable1 = PropagateLayer(this.synapseF1ToF2, input.From, input.To); stable2 = PropagateLayer(this.synapseF2ToF1, input.To, input.From); } while (!stable1 && !stable2); return null; }