Exemple #1
0
        public NetworkData GetNetworkData()
        {
            List <ConnectionData> conns = new List <ConnectionData>();
            List <LayerData>      lays  = new List <LayerData>();



            foreach (Layer layer in Layers)
            {
                LayerData newlayerData = new LayerData()
                {
                    NumNeuron = layer.NumNeurons, ActType = layer.ActType, Bias = new List <double>()
                };
                int layerid = layer.Index;
                foreach (Neuron neuron in layer.Neurons)
                {
                    int neuronid = neuron.Index;

                    newlayerData.Bias.Add(neuron.Bias);

                    foreach (Connection conn in neuron.Connections.Where(r => r.fromNeuron == neuron))
                    {
                        conns.Add(new ConnectionData()
                        {
                            From = new NeuronData()
                            {
                                Layer = layerid, Node = neuronid
                            },
                            To = new NeuronData()
                            {
                                Layer = conn.toNeuron.SelfLayer.Index, Node = conn.toNeuron.Index
                            },
                            Weight = conn.Weight
                        });
                    }
                }
                lays.Add(newlayerData);
            }

            return(new NetworkData()
            {
                Connections = conns, InputLayerId = InputIndex, OutputLayerId = OutputIndex, Layers = lays
            });
        }
Exemple #2
0
        public NetworkData GetNetworkData()
        {
            List<ConnectionData> conns = new List<ConnectionData>();
            List<LayerData> lays = new List<LayerData>();

            foreach (Layer layer in Layers)
            {
                LayerData newlayerData = new LayerData() { NumNeuron = layer.NumNeurons, ActType = layer.ActType, Bias = new List<double>() };
                int layerid = layer.Index;
                foreach (Neuron neuron in layer.Neurons)
                {
                    int neuronid = neuron.Index;

                    newlayerData.Bias.Add(neuron.Bias);

                    foreach (Connection conn in neuron.Connections.Where(r => r.fromNeuron == neuron))
                    {
                        conns.Add(new ConnectionData()
                        {
                            From = new NeuronData() { Layer = layerid, Node = neuronid },
                            To = new NeuronData() { Layer = conn.toNeuron.SelfLayer.Index, Node = conn.toNeuron.Index },
                            Weight = conn.Weight

                        });
                    }
                }
                lays.Add(newlayerData);
            }

            return new NetworkData() { Connections = conns, InputLayerId = InputIndex, OutputLayerId = OutputIndex, Layers = lays };
        }