public Dropout(Layer x, float prob)
 {
     InputLayers.Add(x);
     InnerDimensionCalculation();
     OuterDimensionCalculation();
     Probability = prob;
 }
        public Subtract(Layer l1, Layer l2)
        {
            InputLayers.Add(l1);
            InputLayers.Add(l2);

            InnerDimensionCalculation();
            OuterDimensionCalculation();
        }
Example #3
0
        public DynamicRecurrent(Dimension[] outerDimensions, Dimension[] innerDimensions, Layer[] l, Func <Layer, List <Layer>, Index, Term> func)
        {
            foreach (var item in l)
            {
                InputLayers.Add(item);
            }

            this.OuterDimensions = outerDimensions;
            this.InnerDimensions = innerDimensions;
            this.F = func;
        }
Example #4
0
        public Add(params Layer[] input)
        {
            terms = new Term[input.Length];

            foreach (var item in input)
            {
                InputLayers.Add(item);
            }

            InnerDimensionCalculation();
            OuterDimensionCalculation();
        }
Example #5
0
        public Network(int inputSize, int hiddenSize, int outputSize, double?learnRate = null, double?momentum = null)
        {
            LearnRate = learnRate ?? .4;
            Momentum  = momentum ?? .9;
            //InputLayer = new List<Neuron>();

            HiddenLayer = new List <Neuron>();
            OutputLayer = new List <Neuron>();

            for (var i = 0; i < inputSize; i++)
            {
                InputLayers.Add(new Neuron());
            }

            for (var i = 0; i < hiddenSize; i++)
            {
                HiddenLayer.Add(new Neuron(InputLayers));
            }

            for (var i = 0; i < outputSize; i++)
            {
                OutputLayer.Add(new Neuron(HiddenLayer));
            }
        }