private void CreateNetwork() { if (trainData == null) { return; } // create network to hold all input data var inputCount = trainData.InputCount; uint numNeurons = Configuration.DefaultHiddenNeurons > 0 ? Configuration.DefaultHiddenNeurons : inputCount / 2 - 1; debug($"new network: numinputs: {inputCount} neurons: {numNeurons}"); Program.Form.AddConfiguration($"\r\nConfig hash: {XRandom.randomString()}\r\n\r\nNetwork:\r\n inputs: {inputCount} neurons: {numNeurons}"); NetworkType layer = NetworkType.SHORTCUT; network = new Network(layer, inputCount, numNeurons, 2) { TrainingAlgorithm = Configuration.TrainAlgo }; network.newNetwork = true; network.InitWeights(trainData); network.SetupActivation(); network.SetupScaling(trainData); }