/// <summary> /// Construct a Manhattan propagation training object. /// </summary> /// <param name="network">The network to train.</param> /// <param name="training">The training data to use.</param> /// <param name="profile">The learning rate.</param> /// <param name="learnRate">The OpenCL profile to use, null for CPU.</param> public ManhattanPropagation(BasicNetwork network, INeuralDataSet training, OpenCLTrainingProfile profile, double learnRate) : base(network, training) { if (profile == null) { FlatTraining = new TrainFlatNetworkManhattan( network.Structure.Flat, this.Training, learnRate); } #if !SILVERLIGHT else { TrainFlatNetworkOpenCL rpropFlat = new TrainFlatNetworkOpenCL( network.Structure.Flat, this.Training, profile); rpropFlat.LearnManhattan(learnRate); this.FlatTraining = rpropFlat; } #endif }
/// <summary> /// Construct a Manhattan propagation training object. /// </summary> /// /// <param name="network">The network to train.</param> /// <param name="training">The training data to use.</param> /// <param name="learnRate">The learning rate.</param> public ManhattanPropagation(IContainsFlat network, IMLDataSet training, double learnRate) : base(network, training) { FlatTraining = new TrainFlatNetworkManhattan(network.Flat, Training, learnRate); }