Ejemplo n.º 1
0
        public TicTacToeValueNetwork CreateTrainedNetwork()
        {
            var trainingData = TicTacToeValueLoader.LoadAllUniqueStates(Storage.Instance);
            var trainer      = new TicTacToeValueNetworkTrainer(trainingData, 0);

            return(trainer.Train(30));
        }
Ejemplo n.º 2
0
        private void Training(TrainingSettings settings)
        {
            var trainingData = TicTacToeValueLoader.LoadAllUniqueStates(Storage.Instance, TicTacToeValueNetwork.DefaultInputTransform);
            var trainer      = new TicTacToeValueNetworkTrainer(trainingData, 0)
            {
                HiddenLayerSizes = settings.Layers,
                LearingRate      = settings.LearningRate,
                Momentum         = settings.Momentum,
            };

            TrainedNetwork = trainer.Train(settings.Epoches, new TrainingMonitor(this));

            Invoke((MethodInvoker) delegate()
            {
                var accuracy          = AccuracyMonitor.CalculateAccuracy(TrainedNetwork, trainingData);
                labelAccuracy.Text    = $"{accuracy.CorrectPredictions}/{accuracy.TestingSetSize} ({accuracy.Value * 100.0:f2}%)";
                buttonTrained.Enabled = true;
            });
        }