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(); }
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; }
public Add(params Layer[] input) { terms = new Term[input.Length]; foreach (var item in input) { InputLayers.Add(item); } InnerDimensionCalculation(); OuterDimensionCalculation(); }
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)); } }