Пример #1
0
 public override void ConnectTo(ILayerSender sender)
 {
     foreach (var(perceptronReceiver, perceptronSender) in Receivers.ZipIteration(sender.Senders))
     {
         perceptronReceiver.ConnectTo(perceptronSender);
     }
 }
Пример #2
0
        public Layer GetLayer(ILayerSender sendersLayer)
        {
            List <IDataSender> senders = sendersLayer.Senders.ToList();
            Layer l = new Layer(perceptrons.Select(x => x.GetPerceptron(senders)).ToList());

            l.Sender = sendersLayer;
            return(l);
        }
Пример #3
0
        /// <summary>
        /// instancie un nouveau Network a partir de layer existant
        /// </summary>
        /// <param name="input"></param>
        /// <param name="hiddens"></param>
        /// <param name="output"></param>
        /// <param name="layerStart"></param>
        public Network(Layer input, List <Layer> hiddens, Layer output, ILayerSender layerStart)
        {
            starts       = layerStart;
            this.input   = input;
            this.output  = output;
            this.hiddens = hiddens;

            ReverseHiddens = hiddens.AsEnumerable().Reverse().ToList();
        }
Пример #4
0
        /// <summary>
        /// instantie un nouveau network a l'aide de ses dimension ainsi que du layer qui le précéde
        /// </summary>
        /// <param name="nbDataInput"></param>
        /// <param name="nbDataOutput"></param>
        /// <param name="nbHiddenLayer"></param>
        /// <param name="layerStart"></param>
        /// <param name="isLast"></param>
        public Network(int nbDataInput, int nbDataOutput, int nbHiddenLayer, ILayerSender layerStart, bool isLast = true)
        {
            input  = new Layer(nbDataInput, newPerceptronLayer);
            output = new Layer(nbDataOutput, isLast ? newPerceptronFinal : newPerceptronLayer);
            starts = layerStart;

            GenerateHiddenLayers(nbDataInput, nbDataOutput, nbHiddenLayer);
            GenerateConnexion();
            ReverseHiddens = hiddens.AsEnumerable().Reverse().ToList();
        }
 public virtual void ConnectTo(ILayerSender sender)
 {
     Sender = sender;
     if (Sender == null)
     {
         return;
     }
     foreach (var perceptronReceiver in Receivers)
     {
         foreach (var perceptronSender in sender.Senders)
         {
             perceptronReceiver.ConnectTo(perceptronSender);
         }
     }
 }
        public Network GetNetwork(ILayerSender layerPre)
        {
            Layer inputLayer = input.GetLayer(layerPre);

            List <Layer> hiddensLayer = new List <Layer>();
            Layer        current      = inputLayer;

            foreach (var hidden in hiddens)
            {
                current = hidden.GetLayer(current);
                hiddensLayer.Add(current);
            }
            Layer outputLayer = output.GetLayer(current);

            return(new Network(inputLayer, hiddensLayer, outputLayer, layerPre));
        }