public override void SetSinapses() { Sinaps s; for (int i = 0; i < NeuronGroups[0].Neurons.Count; i++) { NeuronGroups[0].Neurons[i].sinapses.Clear(); for (int j = 0; j < InputsCount; j++) { s = new Sinaps(Inputs[j]); s.value = (float)(1.0 / Math.Sqrt(InputsCount)); NeuronGroups[0].Neurons[i].sinapses.Add(s); } } }
public virtual void SetSinapses() { if (!AccessChangeNet) { return; } Sinaps curr; for (int i = 0; i < NeuronGroups.Count; i++) { for (int j = 0; j < NeuronGroups[i].Neurons.Count; j++) { NeuronGroups[i].Neurons[j].aksons.Clear(); } } for (int i = 0; i < NeuronGroups[0].Neurons.Count; i++) { NeuronGroups[0].Neurons[i].sinapses.Clear(); for (int j = 0; j < inputs.Count; j++) { NeuronGroups[0].Neurons[i].sinapses.Add(new Sinaps(inputs[j])); } } for (int i = 1; i < NeuronGroups.Count; i++) { for (int j = 0; j < NeuronGroups[i].Neurons.Count; j++) { NeuronGroups[i].Neurons[j].sinapses.Clear(); for (int k = 0; k < NeuronGroups[i - 1].Neurons.Count; k++) { NeuronGroups[i].Neurons[j].sinapses.Add(curr = new Sinaps(NeuronGroups[i - 1].Neurons[k])); NeuronGroups[i - 1].Neurons[k].aksons.Add(curr); } } } //Calculate(); }
public float dNETdw(Sinaps sinaps) { return(sinaps.frominput == null ? sinaps.fromNeuron.OUT : sinaps.frominput.value); }