public TiedFeedForward(IFeedForward layer, IWeightInitialisation weightInit, string name = null) : base(name) { _layer = layer; _layerId = layer.Id; _bias = weightInit.CreateBias(layer.InputSize); }
public override void OnDeserialise(IReadOnlyDictionary <string, INode> graph) { _layer = graph[_layerId] as IFeedForward; Debug.Assert(_layer != null); }
/// <summary> /// Creates a layer whose weights are shared with another layer (but transposed) /// </summary> /// <param name="layer">The layer that shares weights</param> /// <param name="name">Optional name to give the node</param> /// <returns></returns> public INode CreateTiedFeedForward(IFeedForward layer, string name = null) { var weightInit = _GetWeightInitialisation(); return(new TiedFeedForward(layer, weightInit, name)); }
/// <summary> /// Adds a feed forward layer whose weights are tied to a previous layer /// </summary> /// <param name="layer">The layer whose weights are tied</param> /// <param name="name">Optional name to give the node</param> /// <returns></returns> public WireBuilder AddTiedFeedForward(IFeedForward layer, string name = null) { _SetNode(_factory.CreateTiedFeedForward(layer, name)); return(SetNewSize(layer.InputSize)); }
//double stopTraining_lastOutputDeviation = double.MaxValue; public ValidationSet(IFeedForward feedForward, IOuputDeviation ouputDeviation) { _ouputDeviation = ouputDeviation; _feedForward = feedForward; }
public NeuralNetworkRunner(IFeedForward feedForward) { _feedForward = feedForward; }
public TrainSet(IFeedForward feedForward, IBackPropagate backPropagate) { _backPropagate = backPropagate; _feedForward = feedForward; }
public TestSet(IFeedForward feedForward, IOuputDeviation ouputDeviation) { _ouputDeviation = ouputDeviation; _feedForward = feedForward; }