protected NetworkStructure GetLayers(int[] layers, Bias bias, IContinuousActivator func) { var l = layers.Length; Link[][] structure = new Link[l][]; FullLayerConnector connector = new FullLayerConnector(); for (var i = 0; i < l - 1; i++) { if (i == 0) { structure[i] = Utility.Generate <Link>(layers[i]).ToArray(); } int j = i + 1; structure[j] = Utility.Generate <Neuron>(layers[j]).ToArray(); connector.Connect(structure[i], (NeuronBase[])structure[j], bias); } SetIdentity(structure); foreach (Link[] layer in structure) { foreach (Link link in layer) { if (link is NeuronBase) { ((NeuronBase)link).Func = func; } } } return(new NetworkStructure(structure, bias)); }
protected NetworkStructure GetLayers(int[] layers,Bias bias,IContinuousActivator func) { var l=layers.Length; Link[][] structure=new Link[l][]; FullLayerConnector connector=new FullLayerConnector(); for(var i=0;i<l-1;i++) { if(i==0) structure[i]=Utility.Generate<Link>(layers[i]).ToArray(); int j=i+1; structure[j]= Utility.Generate<Neuron>(layers[j]).ToArray(); connector.Connect(structure[i],(NeuronBase[])structure[j],bias); } SetIdentity(structure); foreach(Link[] layer in structure) foreach(Link link in layer) if(link is NeuronBase) ((NeuronBase)link).Func=func; return new NetworkStructure(structure,bias); }